【问题标题】:Difference between LastIndexOf('string') vs LastIndexOf('string')OrdincalComparison [duplicate]LastIndexOf('string') 与 LastIndexOf('string')OrdincalComparison 之间的区别 [重复]
【发布时间】:2014-02-18 20:27:03
【问题描述】:

有什么区别

这个

var ext = name.LastIndexOf(@".");

还有这个

var ext = name.LastIndexOf(@".", System.StringComparison.Ordinal);

【问题讨论】:

标签: c#


【解决方案1】:

来自MSDN 上的StringComparison 枚举文档:

使用序号排序规则的操作基于字符串中每个 Char 的数值(Unicode 代码点)执行比较。序数比较速度很快,但对文化不敏感。当您使用序数排序规则对以 Unicode 字符 (U+) 开头的字符串进行排序时,如果 xxxx 的数值小于 yyyy,则字符串 U+xxxx 位于字符串 U+yyyy 之前。

额外的参数告诉方法如何比较字符串。对于Ordinal,它将使用 unicode 代码点进行比较。枚举的其他值使用文化(不变量或当前文化),并且可以使用不区分大小写的比较。

【讨论】:

    猜你喜欢
    • 2013-06-25
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2016-09-30
    • 2019-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多