String的几种比较方法耗时对比

发布网友 发布时间:2022-04-24 09:06

我来回答

1个回答

热心网友 时间:2022-06-18 09:29

string.Compare :
比较两个字符串并返回其相对排序顺序的指示。
string.CompareOrdinal :
过计算每个字符串中相应 String 对象的数值来比较两个 Char 对象。
CompareOrdinal是将整个字符串每5个字符(10个字节)分成一组,然后逐个比较,找到第一个不相同的ASCII码后退出循环。

string.CompareTo :
将此实例与指定的 String 对象进行比较,并指示此实例在排序顺序中是位于指定的字符串之前、之后还是与其出现在同一位置。
String的compareTo其实就是依次比较两个字符串ASC码。如果两个字符的ASC码相等则继续后续比较,否则直接返回两个ASC的差值。

string.Equals :
确定两个String对象是否具有相同的值。

a.Equals :
确定此实例是否与另一个指定的String对象具有相同的值。(上一个是静态方法,这是实例方法)

不同字符串:
Compare耗时: 1359(毫秒)
CompareOrdinal耗时:78(毫秒)
CompareTo耗时:1360 (毫秒)
string.Equals耗时:78(毫秒)
a.Equals耗时:62(毫秒)

相同字符串:
Compare耗时: 1953(毫秒)
CompareOrdinal耗时:16(毫秒)
CompareTo耗时:1938 (毫秒)
string.Equals耗时:31(毫秒)
a.Equals耗时:16(毫秒)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com