There is a good article on MSDN on when to use == and when to use Equals.
Temelde eşitlik 2 türü vardır. Eğer 2 nesnenin referans eşitliği varsa, bu nedenle değer eşitliğine de sahip olurlar (her iki referans da aynı nesneye işaret eder, dolayısıyla elbette değerleri aynıdır).
Bunun tersi (ve sizin durumunuzda) her zaman doğru değildir. Eğer 2 nesne değer eşitliğine sahipse, mutlaka referans eşitliğine sahip olmazlar. Sizin durumunuzda ==
referans eşitliği olarak hareket ediyor.
Genellikle istediğini o System.Object'de tanımlanan sanal bir yöntemdir, Equals
olduğunu.
Genellikle başvuru türleri için istemediğinizi ==
, genellikle iki referansın aynı nesneye başvurup başvurmadığını karşılaştırır. Senin durumunda A
ve B
yılında
2 farklı nesneler içine kutuya alınır. A
, ilk ve B
ikinci anlamına gelir. ==
, her ikisinin de farklı şeyler için referring
olduğunu test ediyor ve görüyor.
Enum karşılaştırması Özel Durum mu atar? eğer evet ise, onun çözümü ne olurdu? –