如何使下面的行不区分大小写?
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 Framework(4 和 +)中检查相等性的最佳实践
String.Compare(x.Username, (string)drUser["Username"],
StringComparison.OrdinalIgnoreCase) == 0
使用以下内容代替
String.Equals(x.Username, (string)drUser["Username"],
StringComparison.OrdinalIgnoreCase)
MSDN 推荐: http://msdn.microsoft.com/en-us/library/dd465121%28v=vs.110%29.aspx
- 使用 String.Equals 方法的重载来测试两个字符串是否相等。
- Use the 字符串比较 and 字符串.CompareTo对字符串进行排序的方法,不检查是否相等.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)