変数が実行時にプログラムで初期化されているかどうかを確認したい。この不可解な理由を少なくするために、次の不完全なコードを参照してください。
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.");
そして、関連するビットを完成させます。
ハッキーな解決策の 1 つは、 s をデフォルト値で初期化することです。
string s = "zanzibar";
そして、変更されたかどうかを確認します。
bool sIsUninitialized = s == "zanzibar";
しかし、もしもsomeValue
「someOtherValue
ザンジバル」だったら?次に、バグがあります。もっと良い方法はありますか?