我使用int.TryParse
來分析變量(保存在數據庫中的字符串),並很好奇,爲什麼我不能初始化兩個變量:使用以下條件語句爲什麼int.TryParse不能初始化多個變量
int min,
max;
:
bool lengthCompatible = int.TryParse(string1, out min) &&
int.TryParse(string2, out max);
的Visual Studio(2015)產生以下代碼高亮:
使用未分配的局部變量的「最大」
局部變量「最大」可能無法訪問之前被初始化
不過,如果我使用2個條件語句:
bool minParse = int.TryParse(sentenceType.MinimumLength, out min);
bool maxParse = int.TryParse(sentenceType.MaximumLength, out max);
我可以編譯沒有錯誤。
Curiouser and curiouser!任何洞察讚賞。
乾杯
因爲min可能會失敗,最大不會啓動 – BugFinder
&&操作符使用短路評估。因此,第二次TryParse調用可能不會執行,並且max不會有值。改用&運算符。 –