Comments 30
1) struct Some { }, var x = new Some();
я конечно на сисярпе не пишу, но моюет быть
var x = new Integer(1);
var y = new Integer(1);
?
var x = new Integer(1);
var y = new Integer(1);
?
new string(' ', 0)
поздравляю, Вы нашли первое решение )
а существуют другие решения с «не-строками»? :-)
я знаю по крайней мере еще одно, строк оно не касается
ещё new System.Nullable()
парсер съел скобки:
new System.Nullable<int>()
new System.Nullable<int>()
вот с Nullable понятно — этот ответ базируется на понимании CLR, а вот знания о String(' ', 0) — имхо бессмысленны :-)
потому как это специфичная оптимизация компилятора, не более
потому как это специфичная оптимизация компилятора, не более
в CLR есть такая вещь как интернирование строк. это не опитимизация компилятора.
если использовать new string(' ', 1), это не будет работать
потому замечание вполне резонное
потому замечание вполне резонное
да, с этим я согласен
но для полноты задачи я должен был указать, что знаю два решения
но для полноты задачи я должен был указать, что знаю два решения
new string('\n', 0)
var x = new Nullable();
var y = new Nullable();
Console.WriteLine("{0}", ReferenceEquals(x, y));
var y = new Nullable();
Console.WriteLine("{0}", ReferenceEquals(x, y));
var x = new T(...) ? null : null; var y = new T(...) ? null : null;
=)
Sign up to leave a comment.
C#: Этюды, часть 6