在delphi中等效的enumerable.max函数

时间:2015-04-20 14:56:03

标签: delphi

德尔福有没有相同的 csharp代码alphabet.max,其中字母表是a 字符串变量或是否存在等效函数?

我正在尝试从csharp移植以下代码 德尔福。

string alphabet = "ABCD";
invalphabet = new int[alphabet.Max() + 1];

https://msdn.microsoft.com/en-us/library/bb347632(v=vs.90).aspx

感谢

1 个答案:

答案 0 :(得分:4)

你可能正在寻找这样的东西:

uses
  Math; // for the Max function
....
var
  i: Integer;
  invalphabet: array of Integer;
  maxOrdinal: Integer;
....
maxOrdinal := -1;
for i := 1 to Length(alphabet) do
  maxOrdinal := Max(maxOrdinal, ord(alphabet[i]));
if maxOrdinal = -1 then
  // handle error condition
SetLength(invalphabet, maxOrdinal + 1);

对可能的编码不匹配保持活力。 C#代码使用UTF-16,Delphi代码使用UTF-16或ANSI,具体取决于您的Delphi版本。当然,您可以提供仅限于ASCII的alphabet