プログラムで実行時に変数が初期化されているかどうかを確認したい。この理由を不思議にするには、以下の不完全なコードを参照してください。C# - 変数が初期化されているかどうかの確認
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.");
そして、関連するビットを完成させてください。それが変更された場合はチェックし
string s = "zanzibar";
そして:
一つのハックソリューションは、デフォルト値でSを初期化することであるsomeValue
かsomeOtherValue
は「ザンジバル」ことが起こるならば何が
bool sIsUninitialized = s == "zanzibar";
、同じように?それから私にはバグがあります。もっと良い方法?
'string.IsNullOrEmpty(s)' – Shmiddty
これは実際にはコンパイルされません。変数を初期化する必要があります。 nullまたはstring.Emptyに初期化するだけです。 – McGarnagle
変数が別のスレッドによって初期化されるとどうなりますか?あなたは書き込みアクセスの例外を生成するためにメモリコントローラを設定するのに慣れていますか? – HABO