首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“==”与“string.equals c# .net”

“==”与“string.equals c# .net”
EN

Stack Overflow用户
提问于 2011-04-26 20:39:16
回答 8查看 8.2K关注 0票数 7

可能重复: C#:String.Equals与==

大家好。

有一段时间,有人告诉我,您不应该将字符串与==进行比较,并且应该使用string.equals(),但它是指java。

==和string.equals在.NET c#中的差异是什么?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-04-26 20:43:39

string == stringString.Equals完全相同。这是确切的代码(来自Reflector):

代码语言:javascript
运行
复制
public static bool operator ==(string a, string b)
{
    return Equals(a, b); // Is String.Equals as this method is inside String
}
票数 19
EN

Stack Overflow用户

发布于 2011-04-26 20:40:40

在C#中,没有区别,因为操作符==!=在字符串类型中被重载以调用equals()。看这个MSDN页面

票数 3
EN

Stack Overflow用户

发布于 2011-04-26 20:42:31

实际上,==最终在String上执行String.Equals。

您可以在使用StringComparision时指定String.Equals.

示例:

代码语言:javascript
运行
复制
MyString.Equals("TestString", StringComparison.InvariantCultureIgnoreCase)

大多数情况下,我认为这是一种编码偏好。想用哪种就用哪种。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5796169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档