📜  == vs 等于 c# (1)

📅  最后修改于: 2023-12-03 15:13:11.465000             🧑  作者: Mango

== 与 等于

在 C# 中,有两个非常相似的操作符:== 和等于(equals)。虽然它们的作用很相似,但它们的意义和用法却有很大的不同。在本文中我们将对它们进行深入研究。

== 操作符
用途

在 C# 中,== 操作符用于比较两个值是否相等。我们可以将任意两个值进行比较,包括数字、字符、字符串、布尔值等等。

示例

下面是一些使用 == 操作符的示例:

int a = 5;
int b = 6;
bool c = (a == b);              // false

string s1 = "hello";
string s2 = "world";
bool c2 = (s1 == s2);           // false

bool b1 = true;
bool b2 = false;
bool c3 = (b1 == b2);           // false

从上述示例可以看出,如果两个比较的值相等,== 操作符返回 true;否则返回 false。

等于(equals)方法
用途

另一个比较值是否相等的方式是使用等于(equals)方法。等于方法可以用于比较类、接口、数组和结构体等引用类型的值,它们无法使用 == 操作符进行直接比较。

等于方法使用 Object 类型作为参数,在比较任意类型的值时都是可用的;但它不适用于比较值类型的变量。

示例

下面是一些使用等于方法的示例:

string s1 = "hello";
string s2 = "world";
bool c = s1.Equals(s2);         // false

int[] array1 = { 1, 2, 3 };
int[] array2 = { 1, 2, 3 };
bool c2 = array1.Equals(array2); //false

object o1 = "hello";
object o2 = "world";
bool c3 = o1.Equals(o2);        // false

从上述示例可以看出,如果两个比较的值相等,等于方法返回 true;否则返回 false。

总结

在 C# 中,== 操作符和等于方法都可以用于比较两个值是否相等。但是二者有很大的区别: == 操作符只比较值,它能用于比较所有类型的直接值;等于方法比较的是引用类型的值(Object类型),因此能比较所有引用类型的值。在编写程序时,我们应该根据具体的情况来选择使用哪种方法。