C# Equals 和 == 比较

值类型 Equals 与 == 等同;string 经过重写, Equals 与 == 等同;object 类型,string 的特殊性;其他类 类型。代码语言:javascript代码运行次数:0运行复制object t = &qu

C# Equals 和 == 比较

值类型 Equals 与 == 等同; string 经过重写, Equals 与 == 等同; object 类型,string 的特殊性; 其他类 类型。

代码语言:javascript代码运行次数:0运行复制
object t = "123";
object a = t;
object b = "123";
Console.WriteLine(a == b);
Console.ReadKey();
代码语言:javascript代码运行次数:0运行复制
object t = 1;
object a = t;
object b = 1;
Console.WriteLine(a == b);
Console.ReadKey();
代码语言:javascript代码运行次数:0运行复制
object t = 1;
object a = t;
object b = 1;
Console.WriteLine(a.Equals(b));
Console.ReadKey();

Equals 是比较是否同一对象,那么问题来了,有两种意思 是否是同一类型,还是说值相同

代码语言:javascript代码运行次数:0运行复制
public class Test
{
	public int A { get; set; }
	public int B { get; set; }
}
class Program
{
	static void Main()
	{
		Test a = new Test { A = 1, B = 2 };
		Test b = new Test { A = 2, B = 1 };
		Console.WriteLine(a.Equals(b));
		Console.ReadKey();
	}
}

结果 False

代码语言:javascript代码运行次数:0运行复制
public class Test
{
	public int A { get; set; }
	public int B { get; set; }
}
class Program
{
	static void Main()
	{
		Test a = new Test { A = 1, B = 2 };
		Test b = new Test { A = 1, B = 2 };
		Console.WriteLine(a.Equals(b));
		Console.ReadKey();
	}
}

Equpls 空引用会发生异常, == 不会。 Equals 与 == 区别,在于 null。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1748036886a4722057.html

相关推荐

  • C# Equals 和 == 比较

    值类型 Equals 与 == 等同;string 经过重写, Equals 与 == 等同;object 类型,string 的特殊性;其他类 类型。代码语言:javascript代码运行次数:0运行复制object t = &qu

    4小时前
    10

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信