如何使用 TStringHelper 测试两个字符串是否不区分大小写?

How to test two strings for ordinal case-insensitive equality using TStringHelper?

我可能忽略了一些东西,但似乎没有像这样的内置函数:

var
  B: Boolean;
  S: string;
begin
  S := 'Test';
  B := S.SameText('TEST');
  Assert(B);
end;

.NET 有一个 three parameter version for Equals:

string.Equals(S, "TEST", StringComparison.OrdinalIgnoreCase);

我能想到的两个版本是:

// Ordinal?
string.CompareText(S, 'TEST') = 0
// Culture specific
string.Compare(S, 'TEST', True, TLanguages.UserDefaultLocale)

让我失望的是我必须与 0 进行比较,而不是旧的 SameText:

SameText(S, 'TEST')

Embarcadero 是否忽略了在 TStringHelper 上提供 SameText

Did Embarcadero overlook to provide a SameText on TStringHelper?

是的。

AnsiCompareText - 根据当前语言环境比较字符串,不区分大小写。