Сравнение переменных разного типа - C#
Формулировка задачи:
Не задача, просто любопытно, почему именно так?
static void Main(string[] args)
{
int i = 1;
decimal j = 1;
var r = comp(i, j); // false
r = j.Equals(i); // true
r = i.Equals(j); // fales
r = i == j; // true
}
static bool comp(object a, object b)
{
return Object.Equals(a, b);
}Решение задачи: «Сравнение переменных разного типа»
textual
Листинг программы
var r = comp(i, j); // false - object.Equals(object) разные ссылки r = j.Equals(i); // true decimal.Equals(decimal) - очевидно r = i.Equals(j); // false //object.Equals(object) - разные ссылки r = i == j; // true //очевидно