为什么字符串大小写比较会突然在 vb.net 中停止工作?

Why would string case comparison suddenly stop working in vb.net?

有谁知道以下是怎么可能的?使用 .ToLowerLcase 的所有字符串比较突然停止工作。

如果我立即这样做 window:

?lcase(text)
"menu"
?lcase(text)="menu"
False

这是几分钟前才开始的。我正在使用:

编辑: 这个问题的根源出自这里:

更改代码后。

首先,我会停止使用 LCase,因为它是 VB 6 兼容代码。

其次,我不会在字符串比较中使用 "string".ToLower()"string".ToUpper() 中构建的 .NET,因为这可能会导致某些本地人出现意外结果。

更好用text.Equals("menu", StringComparison.OrdinalIgnoreCase)

我不知道您的问题的根本原因是什么,但希望对您有所帮助。

看看String.Compare

'Declaration
Public Shared Function Compare ( _
    strA As String, _
    strB As String, _
    ignoreCase As Boolean _
) As Integer

结果小于零 = strA 小于 strB。
结果零 = strA 等于 strB。
结果大于零 = strA 大于 strB。