Pan*_*wal 36 .net c# string-comparison
可能重复:
C#中字符串比较方法的差异
在.NET中有许多字符串比较方法,我只是想确认哪一个是最好的考虑性能.
string.Equals()
string.Compare()
string.CompareTo()
string.CompareOrdinal()
string.ReferenceEquals()
if (str1 == str2)
Run Code Online (Sandbox Code Playgroud)
cry*_*ted 25
从msdn撕掉
确定此实例和指定对象(也必须是String对象)是否具有相同的值.
string.Compare 比较两个指定的String对象,并返回一个整数,指示它们在排序顺序中的相对位置.
string.CompareTo 将此实例与指定的对象或String进行比较,并返回一个整数,该整数指示此实例是否在排序顺序中与指定对象或字符串相同,位于或出现在同一位置.
string.CompareOrdinal 通过计算每个字符串中相应Char对象的数值来比较两个指定的String对象.
字符串相等运算符 预定义字符串相等运算符是
bool operator ==(string x,string y); bool operator!=(string x,string y); 当满足以下条件之一时,两个字符串值被视为相等:
两个值都为null.这两个值都是对字符串实例的非空引用,这些实例在每个字符位置具有相同的长度和相同的字符.字符串相等运算符比较字符串值而不是字符串引用.当两个单独的字符串实例包含完全相同的字符序列时,字符串的值相等,但引用不同.如第7.9.6节所述,引用类型相等运算符可用于比较字符串引用而不是字符串值.