Возникли проблемы с объявлением переменной и использованием TryParse для ее инициализации в той же строке?

Этот пример написан на C #, но я полагаю, что его можно применить и к другим так же легко.

Недавно я обнаружил, что следующее, кажется, работает нормально:

int i = Int32.TryParse(SomeString, out i) ? i : -1;

Почему-то кажется, что переменная i технически не должен быть доступен в точке, указанной в TryParse . Или я был бы прав, если бы предположил, что int i эффективно объявляет переменную, даже если еще нет конца инструкции?

17
задан JYelton 30 December 2010 в 20:54
поделиться