💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# == 运算符(C# 参考) 对于预定义的值类型,如果操作数的值相等,则相等运算符 (**==**) 返回 true,否则返回 **false**。对于 [string](https://msdn.microsoft.com/zh-CN/library/362314fe.aspx) 以外的引用类型,如果两个操作数引用同一个对象,则 **==** 返回 **true**。对于 **string** 类型,**==** 比较字符串的值。 ## 备注 用户定义的值类型可重载 **==** 运算符(请参见 [operator](https://msdn.microsoft.com/zh-CN/library/s53ehcz3.aspx))。用户定义的引用类型也可重载 == 运算符,尽管在默认情况下,无论对于预定义的引用类型还是用户定义的引用类型,**==** 的行为都与上面描述的相同。如果重载 **==**,则还必须重载 [!=](https://msdn.microsoft.com/zh-CN/library/3tz250sf.aspx)。 对于整数类型适用的运算对枚举类型通常也适用。 ``` class Equality { static void Main() { // Numeric equality: True Console.WriteLine((2 + 2) == 4); // Reference equality: different objects, // same boxed value: False. object s = 1; object t = 1; Console.WriteLine(s == t); // Define some strings: string a = "hello"; string b = String.Copy(a); string c = "hello"; // Compare string values of a constant and an instance: True Console.WriteLine(a == b); // Compare string references; // a is a constant but b is an instance: False. Console.WriteLine((object)a == (object)b); // Compare string references, both constants // have the same value, so string interning // points to same reference: True. Console.WriteLine((object)a == (object)c); } } /* Output: True False True False True */ ``` ## 请参阅 [C# 参考](https://msdn.microsoft.com/zh-CN/library/618ayhy6.aspx) [C# 编程指南](https://msdn.microsoft.com/zh-CN/library/67ef8sbd.aspx) [C# 运算符](https://msdn.microsoft.com/zh-CN/library/6a71f45d.aspx)