Я хочу проверить, инициализирована ли переменная во время выполнения программно. Чтобы причины этого были менее загадочными, см. Следующий неполный код:
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
тоже будет "Занзибаром"? Тогда у меня есть ошибка. Любой лучший способ?