What is difference between different string compare methods
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Differences in string compare methods in C#
在.NET中有许多字符串比较方法,我只是想确认考虑到性能,哪种方法最适合使用。
1 2 3 4 5 6 7 8 9 10 11 | string.Equals() string.Compare() string.CompareTo() string.CompareOrdinal() string.ReferenceEquals() if (str1 == str2) |
从msdn中提取
字符串等于
确定此实例和指定的对象(也必须是字符串对象)是否具有相同的值。
比较字符串比较两个指定的字符串对象并返回一个整数,该整数指示它们在排序顺序中的相对位置。
字符串.compareto将此实例与指定的对象或字符串进行比较,并返回一个整数,该整数指示此实例是在指定的对象或字符串之前、之后还是以相同的排序顺序出现在同一位置。
字符串.CompareOrdinal通过计算每个字符串中相应char对象的数值,比较两个指定的字符串对象。
字符串相等运算符预定义的字符串相等运算符为:
bool operator==(字符串x,字符串y);布尔操作员!=(字符串x,字符串y);当以下条件之一为真时,认为两个字符串值相等:
两个值都为空。这两个值都是对字符串实例的非空引用,这些实例在每个字符位置具有相同的长度和相同的字符。字符串相等运算符比较字符串值而不是字符串引用。当两个独立的字符串实例包含完全相同的字符序列时,字符串的值相等,但引用不同。如第7.9.6节所述,引用类型相等运算符可用于比较字符串引用,而不是字符串值。