String.Compare的不同重载之间的区别

Gui*_*ume 6 .net c# string-comparison

具体来说有什么区别

我觉得第二个提供了更多的选项(比较使用任何文化,而不是只有当前的一个或不变的,忽略特殊字符,忽略katakanas(!!)等的宽度...)比第一个.两者都已经在.NET 2.0中引入了它,所以我猜它不能成为向后兼容的问题.

那么有什么区别,什么时候应该使用第一个?什么时候应该使用第二个?

我看过这篇文章和这篇文章,但我认为他们处理的是一些略有不同的问题.

Thi*_*tes 3

您的答案在第二次过载的备注中。

http://msdn.microsoft.com/en-us/library/cc190529.aspx

“比较使用区域性参数来获取特定于区域性的信息,例如大小写规则和单个字符的字母顺序。例如,特定的区域性可以指定将某些字符组合视为单个字符,即大写和小写以特定方式比较字符,或者字符的排序顺序取决于它之前或之后的字符。”

另一个重载仅使用默认区域性。