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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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