using System;
class Program {
static void Main() {
int a = 1000;
int b = 1000;
object x = a;
object y = b;
Console.WriteLine(x == y); // #1
Console.WriteLine(x.Equals(y)); // #2
}
}
🔢 Варианты ответа:
A)
True
B)
False
C)
True
D)
False
✅ Правильный ответ: C
💡 Почему?
-
x и y — boxed значения типа int, то есть ссылки на два разных объекта в куче.-
x == y сравнивает ссылки, а не значения → False.-
x.Equals(y) вызывает метод Equals для int, который сравнивает значения → True.📌 Подвох — в различии
== и .Equals() при использовании упакованных типов.@csharp_ci