を初期化することはできませんなぜ私は、変数に解析するint.TryParse
を使用しています(データベース内の文字列として保存された)、私は2つの変数初期化できない理由好奇心:以下の条件文を使用してint.TryParseは、複数の変数
int min,
max;
を:
bool lengthCompatible = int.TryParse(string1, out min) &&
int.TryParse(string2, out max);
のVisual Studio(2015)次のコードの強調表示を生成します。
bool minParse = int.TryParse(sentenceType.MinimumLength, out min); bool maxParse = int.TryParse(sentenceType.MaximumLength, out max);
私が使用してコンパイルすることができます:私は2つの条件文を使用している場合
にアクセスするただし、前に割り当てられていないローカル変数のを使用するには、「最大」
ローカル変数「最大」は初期化されない可能性がありますエラーはありません。
Curiouser and curiouser!どんな洞察も高く評価されます。
乾杯
minが失敗する可能性があるため、maxを起動しなくてもよいため、 – BugFinder
&&演算子は短絡評価を使用します。したがって、2回目のTryParse呼び出しは実行されず、maxには値がありません。代わりに&演算子を使用します。 –