这是delphi Berlin下TSysCharSet的声明
TSysCharSet = set of Char deprecated; // Holds Char values in the ordinal range of 0..255 only.
现在已弃用它,但是用什么代替它呢?我只需要给我的函数一些字符集,例如['',#9,#13,#10]
最佳答案
如果您只需要携带一组(unicode)字符,则不需要TSysCharSet。只需使用char的动态数组即可:
var
MyCharArray : TArray<char>;
begin
MyCharArray := [' ',#9,#13,#10];
end;
TSysCharSet主要用于CharInSet例程中;在文档中,由于TSysCharSet不能包含Unicode字符,因此它们将TCharHelper替换为CharInSet。
uses System.Character;
var
WhiteSpace : TSysCharSet;
ac : ansichar;
c : char;
begin
// replace this....
ac := #9;
WhiteSpace := [' ',#9,#13,#10];
if CharInSet(ac, WhiteSpace) then
begin
end;
// ...with this:
c := #9;
if c.IsWhiteSpace then
begin
end
end