- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些这样的代码:
If key.Equals("search", StringComparison.OrdinalIgnoreCase) Then
DoSomething()
End If
我不关心这个案子。我应该使用 OrdinalIgnoreCase、InvariantCultureIgnoreCase 还是 CurrentCultureIgnoreCase?
最佳答案
<强> Newer .Net Docs now has a table to help you decide which is best to use in your situation.
来自 MSDN 的“New Recommendations for Using Strings in Microsoft .NET 2.0”
Summary: Code owners previously using the
InvariantCulture
for string comparison, casing, and sorting should strongly consider using a new set ofString
overloads in Microsoft .NET 2.0. Specifically, data that is designed to be culture-agnostic and linguistically irrelevant should begin specifying overloads using either theStringComparison.Ordinal
orStringComparison.OrdinalIgnoreCase
members of the newStringComparison
enumeration. These enforce a byte-by-byte comparison similar tostrcmp
that not only avoids bugs from linguistic interpretation of essentially symbolic strings, but provides better performance.
关于.net - 通常最好使用 StringComparison.OrdinalIgnoreCase 或 StringComparison.InvariantCultureIgnoreCase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72696/
做了很多不区分大小写的字符串比较,我以很多冗长的语句结束,比如: myList.FirstOrDefault( c => string.Equals( c.Inter
我正在将 C# 代码移植到 Windows 应用商店应用程序。令我惊讶的是,以下代码不再有效: someString.Equals("someOtherString", StringCompariso
我正在尝试填充包含用户提供的字母的所有结果。 foreach (var item in entries.PhonebookList.Where(ab => ab.FirstName.Contains(
在C#中做字符串比较时,和a有什么区别 string test = "testvalue"; test.Equals("TESTVALUE", StringComparison.CurrentCult
这个问题在这里已经有了答案: Which is generally best to use — StringComparison.OrdinalIgnoreCase or StringCompari
我正在尝试如下所示进行字符串同情: var nDetails = listOfServiceUrls.Where(x => String.Equals(x.Description, serviceN
我认为 StringComparison.OrdinalIgnoreCase 和 StringComparison.InvariantCultureIgnoreCase 在涉及纯英文字符串时做同样的工
在 this page ,一位评论者写道: 永远不要使用 .ToUpper 来确保比较字符串时不区分大小写。 取而代之的是: type.Name.ToUpper() == (controllerNam
我有一些这样的代码: If key.Equals("search", StringComparison.OrdinalIgnoreCase) Then DoSomething() End If
StringComparer.InvariantCultureIgnoreCase Equals 对“”与“\0”返回 true,但 GetHashCode 对两个字符串返回不同的值。这是错误吗? v
当我不区分大小写地比较两个字符串时,我使用: if (s1.Equals(s2, StringComparison.InvariantCultureIgnoreCase)) ... 我想在整个代码中缩
以下查询有效。当我用错误的大小写输入名称时,我得到了正确的结果。 private static IObjectContainer db = Db4oFactory.OpenFile(db4oPath)
我是一名优秀的程序员,十分优秀!