Здравствуйте, Стажер, Вы писали:
С>Зачем некоторые товарищи при объявлении переменной присваивают ей null явно? С>Чем такое объявление С>
С>SomeType someVar = null;
С>
С>отличается от такого С>
С>SomeType someVar;
С>
Для локальных переменных разница очень большая: если вы попытаетесь передать неинициализированную переменную в качестве аргумента метода или каким-либо другим образом считать ее значение, Вы получите ошибку компиляции. Если же речь идет о полях класса, то никакой разницы действительно нет: они и так будут иметь значение по умолчанию (для ссылочных типов — null).
Re[2]: Инициализация переменных значением null при объявлени
Здравствуйте, nikov, Вы писали:
N>Для локальных переменных разница очень большая: если вы попытаетесь передать неинициализированную переменную в качестве аргумента метода или каким-либо другим образом считать ее значение, Вы получите ошибку компиляции. Если же речь идет о полях класса, то никакой разницы действительно нет: они и так будут иметь значение по умолчанию (для ссылочных типов — null).
Вообще-то разщница есть, если написать SomeType someVar = null;, то переменная будет инициализированна два раза, о чём и сообщает FxCop, кстати.
Здравствуйте, adontz, Вы писали:
N>>Если же речь идет о полях класса, то никакой разницы действительно нет: они и так будут иметь значение по умолчанию (для ссылочных типов — null).
A>Вообще-то разщница есть, если написать SomeType someVar = null;, то переменная будет инициализированна два раза, о чём и сообщает FxCop, кстати.
Согласен. Я имел в виду, что (1) код так же успешно скомпилируется, (2) поле будет иметь то же самое значение.
Re[3]: Инициализация переменных значением null при объявлени
Здравствуйте, adontz, Вы писали:
A>Вообще-то разщница есть, если написать SomeType someVar = null;, то переменная будет инициализированна два раза, о чём и сообщает FxCop, кстати.
Справедливости ради надо заметить, что при компиляции в Release режиме такие избыточные инициализации выкидываются.
Re[3]: Инициализация переменных значением null при объявлени
Здравствуйте, adontz, Вы писали:
A>Вообще-то разщница есть, если написать SomeType someVar = null;, то переменная будет инициализированна два раза, о чём и сообщает FxCop, кстати.
А комментарии из тела цикла ты случайно не выносишь?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: Инициализация переменных значением null при объявлени