Назад к вопросам
JuniorТеорияЧасто
Что выведет программа (строки через пробел)?
Spot a = new Spot();
a.X = 7;
Spot b = new Spot();
b.X = 7;
Console.WriteLine(a == b);
b = a;
Console.WriteLine(a == b);
class Spot { public int X; }False True
- Ждать
True True: для класса==по умолчанию сравнивает ссылки, а два объекта с равными полями — всё равно два разных объекта. - Ждать
False False: послеb = aпеременнаяbведёт к тому же объекту, что иa, и второе сравнение — объекта с самим собой.
- Что напечатает программа, если
Spotбудетstruct, а обе строки будут вызыватьa.Equals(b)? - Почему
==для двух объектовstringсравнивает текст, а не ссылки?