我对StringComparison Enumeration的选项感到困惑。我只是想比较两个忽略大小写的字符串。有人可以解释当前文化,不变文化和序数的含义是什么意思?大多数用例是否有共同的选项,如果有,在什么情况下需要其他选项?
作为参考,StringComparison枚举的选项如下:
答案 0 :(得分:43)
如果您要比较两个字符串是否相等,那么文化设置没有太大区别(尽管它会影响,例如土耳其语,它已经点缀并且没有发布)。
如果要对字符串列表进行排序,则会有很大差异;不同的文化往往按不同的顺序排序。
CurrentCulture根据当前文化(即当前语言环境)对erm进行排序。因此,这取决于软件的运行位置。
InvariantCulture基本上是美国英语设置。它是不变的,因为无论你的软件运行在哪里都是一样的。
序数比较基于Unicode代码点的值。这通常是比较相等性的最佳选择,但如果要排序要显示给用户的字符串列表,这不是一个好的选择。
答案 1 :(得分:3)