可能重复: C#:String.Equals与==
大家好。
有一段时间,有人告诉我,您不应该将字符串与==进行比较,并且应该使用string.equals(),但它是指java。
==和string.equals在.NET c#中的差异是什么?
发布于 2011-04-26 20:43:39
string == string与String.Equals完全相同。这是确切的代码(来自Reflector):
public static bool operator ==(string a, string b)
{
return Equals(a, b); // Is String.Equals as this method is inside String
}发布于 2011-04-26 20:40:40
在C#中,没有区别,因为操作符==和!=在字符串类型中被重载以调用equals()。看这个MSDN页面。
发布于 2011-04-26 20:42:31
实际上,==最终在String上执行String.Equals。
您可以在使用StringComparision时指定String.Equals.
示例:
MyString.Equals("TestString", StringComparison.InvariantCultureIgnoreCase)大多数情况下,我认为这是一种编码偏好。想用哪种就用哪种。
https://stackoverflow.com/questions/5796169
复制相似问题