Почему следующие выражения отличаются?
[1] (object)0 == (object)0 //false
[2] ((object)0).Equals((object)0) // true
Собственно, я могу полностью понять [1], потому что, возможно,.NET runtime будет box
целочисленным и начнет сравнивать ссылки вместо этого. Но почему [2] отличается?