C#中文字符串比较大小问题
C#比较中文字符串时是按照什么比较呢?比较各个Unicode编码吗?和Java的字符串比较有何不同呢?各位大神求指点啊! C# 中文字符串比较 Java 编码
[解决办法]
这个取决于你用什么样的比较方法(默认为当前的区域文化的比较方式)。
比如:
CultureInfo 拼音 = new CultureInfo(0x804);
CultureInfo 比划 = new CultureInfo(0x20804);
string s1 = "一";
string s2 = "啊";
int c0 = string.Compare(s1, s2, StringComparison.Ordinal); // -1866
int c1 = string.Compare(s1, s2, 拼音, CompareOptions.None); // 1
int c2 = string.Compare(s1, s2, 比划, CompareOptions.None); // -1