我如何做一个不区分大小写的字符串比较?
我如何使这行不区分大小写?
drUser["Enrolled"] =
(enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1);
今天早些时候我收到了一些建议,建议我使用:
x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));
麻烦的是我无法得到这个工作,我试过下面这行,这个编译但返回错误的结果,它返回登记用户作为未注册和未注册的用户作为登记。
drUser["Enrolled"] =
(enrolledUsers.FindIndex(x => x.Username.Equals((string)drUser["Username"],
StringComparison.OrdinalIgnoreCase)));
任何人都可以指出问题吗?
这不是在.NET框架(4&+)中检查相等性的最佳实践
String.Compare(x.Username, (string)drUser["Username"],
StringComparison.OrdinalIgnoreCase) == 0
改为使用以下内容
String.Equals(x.Username, (string)drUser["Username"],
StringComparison.OrdinalIgnoreCase)
MSDN建议:
你应该使用如下的静态String.Compare
函数
x => String.Compare (x.Username, (string)drUser["Username"],
StringComparison.OrdinalIgnoreCase) == 0
请使用这个比较:
string.Equals(a, b, StringComparison.CurrentCultureIgnoreCase);
链接地址: http://www.djcxy.com/p/75227.html