نقل قول نوشته شده توسط Netsky مشاهده تاپیک
دليل اين مورد چيه :
What is the difference between == and object.Equals
سلام.
برای value type ها، مثل int، byte و ... تفاوتی نمیکنه، اما برای Reference Type ها این دو دستور متفاوت عمل می کنن.

operator == هنگامی استفاده میشه که بخواهید هویت دو Entity رو با هم مقایسه کنید. به این کد دقت کنید:


Font font1 = new Font("verdana", 12f, FontStyle.Bold);
Font font2 = new Font("verdana", 12f, FontStyle.Bold);

Console.Write(font1 == font2); /*FALSE*/
Console.Write(font1.Equals(font2)); /*TRUE*/


اینجا دارم دو تا فونت با مشخصات یکسان ایجاد میکنم. هر دو Verdana با سایز 12 و Bold هستن، پس با عملا با هم برابرن. همونطوریکه در کد فوق میبینید، font1==font2 نیستش، چون Reference به این دو فونت متفاوته. در واقع اونها دارن به دو object متفاوت Refer میکنن.

اما font1.Equals(font2) هستش، چون هر دو فونت Verdana با سایز 12 و Bold هستن.

موفق باشید.