不同的字符串比较方法之间的区别是什么

本文关键字:之间 区别 方法 是什么 比较 字符串 | 更新日期: 2023-09-27 17:57:47

可能重复:
C#中字符串比较方法的差异

在.NET中有许多字符串比较方法,我只想确认考虑到性能,哪种方法是最好的。

string.Equals()
string.Compare()
string.CompareTo()
string.CompareOrdinal()
string.ReferenceEquals()
if (str1 == str2)

不同的字符串比较方法之间的区别是什么

从msdn 中删除

字符串。等于

确定此实例和指定的对象(也必须是String对象)是否具有相同的值。

字符串。比较比较两个指定的String对象,并返回一个整数,指示它们在排序顺序中的相对位置。

字符串。CompareTo将此实例与指定的对象或字符串进行比较,并返回一个整数,该整数指示此实例在排序顺序中是在指定对象或字符串的前面、后面,还是出现在与该对象或字符串相同的位置。

字符串。CompareOrdinal通过计算每个字符串中相应Char对象的数值,比较两个指定的String对象。

字符串相等运算符预定义的字符串相等运算符为:

布尔运算符==(字符串x,字符串y);布尔运算符=(字符串x,字符串y);当下列情况之一为真时,两个字符串值被视为相等:

两个值都为null。这两个值都是对字符串实例的非null引用,这些字符串实例的长度相同,每个字符位置都有相同的字符。字符串相等运算符比较字符串值,而不是字符串引用。当两个单独的字符串实例包含完全相同的字符序列时,字符串的值相等,但引用不同。如第7.9.6节所述,引用类型相等运算符可用于比较字符串引用,而不是字符串值。