发布网友 发布时间: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(毫秒)