c# - .NET 编译器如何比较两个字符串?

标签 c# string-comparison

string a="I am comparing 2 string";
string b="I am comparing 2 string";

if(a==b)
  return true;
else
  return false;

.NET 编译器如何比较两个字符串?字符串是否像 struct(int) 一样工作? 字符串是类,所以 a=b 表示我们正在比较 2 个对象,但我想比较 2 个值。

最佳答案

String 类重载了 == 运算符,所以是的,它比较字符串的值,就像比较 int 这样的值类型一样。

(附带说明一下,编译器还在代码中保留文字字符串,因此字符串变量 ab 实际上将引用相同的字符串对象。如果你使用 Object.ReferenceEquals(a,b) 它也会返回 true。)

关于c# - .NET 编译器如何比较两个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621111/

相关文章:

c# - 简单的 C# 初学者问题

java - 当从用户那里读取其中一个时,为什么不是 "Ellie"== "Ellie"?

c# - 如何比较 "look alike"的 Unicode 字符?

c# - 如何在执行 Response.Redirect 之前显示/隐藏面板

c# - 在 C# 中,null 是否也继承自 Object?

c# - 检测是否在 Windows 设置中选择了 "Obtain IP address automatically"

regex - 如何使用 awk 提取具有精确匹配的行

C# - 大型集合存储

c# - 优化C#中的字符串比较

android - 无法在android中比较两个字符串