Со времени последнего этюда прошло очень много времени, но я надеюсь, что хабраюзеры не успели утратить интерес к C#.
В этот раз задачка довольно простая, но новичкам в шарпе она может оказаться полезной. Есть следующий код:
где T — некоторый тип,… — параметры конструктора.
Найдите такой T и такие параметры, чтобы этот код выдавал на экран True (или аналог, в зависимости от языка установленного фреймворка).
new убирать ни в коем случае нельзя. Также нельзя вызывать какие-либо методы у только что созданного объекта. В x и y сохраняется ровно то значение, которое вернул оператор new. Весь код должен быть управляемый и безопасный, и конечно, не стоит добавлять новые операторы Console.WriteLine.
Я знаю пока что два решения.
В этот раз задачка довольно простая, но новичкам в шарпе она может оказаться полезной. Есть следующий код:
var x = new T(...);
var y = new T(...);
Console.WriteLine("{0}", object.ReferenceEquals(x, y));
где T — некоторый тип,… — параметры конструктора.
Найдите такой T и такие параметры, чтобы этот код выдавал на экран True (или аналог, в зависимости от языка установленного фреймворка).
new убирать ни в коем случае нельзя. Также нельзя вызывать какие-либо методы у только что созданного объекта. В x и y сохраняется ровно то значение, которое вернул оператор new. Весь код должен быть управляемый и безопасный, и конечно, не стоит добавлять новые операторы Console.WriteLine.
Я знаю пока что два решения.