首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连字符后字符对string.compare的影响

连字符后字符对string.compare的影响
EN

Stack Overflow用户
提问于 2017-06-21 12:11:36
回答 1查看 1.1K关注 0票数 6

我希望"2-“和"22”总是以相同的方式进行比较,但更改第三个字符会改变排序顺序。

代码语言:javascript
复制
string.Compare("2-1","22-", StringComparison.CurrentCulture) //-1
string.Compare("2-2","22-", StringComparison.CurrentCulture) //1

这里到底发生了什么?

顺便说一句,我们的文化是美国本土的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-21 12:16:07

根据文档

字符集包括可忽略的字符。Compare(String, String, StringComparison)方法在执行区分区域性的比较时不考虑这些字符。若要识别比较中的可忽略字符,请为StringComparison.Ordinal参数或OrdinalIgnoreCase参数提供一个值。

在您的例子中,连字符是一个不可忽略的字符。在这种情况下,这意味着中间连字符没有被考虑在内。这意味着它实际上将212222-进行比较,后者将分别计算为-11

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44675770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档