0

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

如果我在即时窗口中执行此操作:

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

这只是几分钟前开始的。我在用着:

  • .NET 4.5.2
  • Visual Studio 2013 终极版
  • 视觉基础

编辑:这个问题的根源来自这里:请我如何从 CryptoStream 返回解码的字节而不是文本

更改该代码后。

4

2 回答 2

4

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

其次,我不会在字符串比较中"string".ToLower()"string".ToUpper()在字符串比较中使用 .NET,因为这可能会给某些本地人带来一些意想不到的结果。

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

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

于 2015-05-25T11:07:59.840 回答
0

看看String.Compare

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

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

于 2015-05-27T10:29:25.110 回答