C# – проверка инициализации переменнойC#

Место общения программистов C#
Anonymous
C# – проверка инициализации переменной

Сообщение Anonymous »

Я хочу проверить, инициализируется ли переменная во время выполнения программно. Чтобы сделать причины этого менее загадочными, просмотрите следующий неполный код:

Код: Выделить всё

string s;

if (someCondition) s = someValue;
if (someOtherCondition) s = someOtherValue;

bool sIsUninitialized = /* assign value correctly */;

if (!sIsUninitialized) Console.WriteLine(s) else throw new Exception("Please initialize s.");
И заполните соответствующий бит.

Одно из хакерских решений — инициализировать s значением по умолчанию:

Код: Выделить всё

string s = "zanzibar";
А затем проверьте, изменилось ли оно:

Код: Выделить всё

bool sIsUninitialized = s == "zanzibar";
Однако что, если someValue или someOtherValue также окажется «занзибаром»? Тогда у меня ошибка. Есть ли лучший способ?

Подробнее здесь: https://stackoverflow.com/questions/124 ... nitialized

Вернуться в «C#»