.NET 4.x Поясните поведение оператора == - C#
Формулировка задачи:
Почему == возвращает false а Equals true ?
Для object a = 2; object b = 2; Я знаю что Equals на значимых типах проверяет равенство значений, а == как работает тогда ?
Решение задачи: «.NET 4.x Поясните поведение оператора ==»
textual
Листинг программы
struct BitComparable { double d; public S3(double d) { this.d = d; } } struct NonBitComparable { double d; object o; public S4(double d, object o) { this.d = d; this.o = o; } } var x1 = new BitComparable(1 / double.PositiveInfinity); // +0 var y1 = new BitComparable(1 / double.NegativeInfinity); // -0 Console.WriteLine(x1.Equals(y1)); var x2 = new NonBitComparable(1 / double.PositiveInfinity, null); var y2 = new NonBitComparable(1 / double.NegativeInfinity, null); Console.WriteLine(x2.Equals(y2)); выводит False и True соответственно.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д