C# StringComparison枚举的选项
我被这条路的选择弄糊涂了。我只想比较两个忽略大小写的字符串。有人能解释一下“当前文化”、“不变文化”和“顺序文化”是什么意思吗?大多数用例是否有一个共同的选项,如果有,在什么情况下需要其他选项 作为参考,StringComparison枚举的选项如下所示:C# StringComparison枚举的选项,c#,.net,string,.net-4.0,string-comparison,C#,.net,String,.net 4.0,String Comparison,我被这条路的选择弄糊涂了。我只想比较两个忽略大小写的字符串。有人能解释一下“当前文化”、“不变文化”和“顺序文化”是什么意思吗?大多数用例是否有一个共同的选项,如果有,在什么情况下需要其他选项 作为参考,StringComparison枚举的选项如下所示: 当前文化 当前培养诊断酶 不变文化 不变量文化识别酶 序数的 普通木糖酶 请参阅和。建议使用序数*方法 如果要比较两个字符串是否相等,则区域性设置不会有太大区别(尽管它会影响到,例如,土耳其语,其中有点i和未点i) 如果你对字符串列表进行排
- 当前文化
- 当前培养诊断酶
- 不变文化
- 不变量文化识别酶
- 序数的
- 普通木糖酶
顺序比较基于Unicode代码点的值。这通常是比较相等性的最佳选择,但如果要对要显示给用户的字符串列表进行排序,则这不是一个好的选择。不变量vs序数在感谢您的解释中进行了解释。当我在测试是否相等时,我选择了
OrdinalIgnoreCase
。如果不提供StringComparison,默认值是什么?@DeanKuga默认值使用顺序比较:区分大小写的比较,并使用当前区域性。参见https://docs.microsoft.com/en-us/dotnet/csharp/how-to/compare-strings