實施例:Scope變量與輸出參數
我有以下代碼塊:
if (!int.TryParse("123", out var parsedNumber))
{
return;
}
Console.WriteLine(parsedNumber);
在控制檯的輸出是:123
問題:
那怎麼可能呢,那行Console.WriteLine(parsedNumber);
知道parsedNumber
?
據我瞭解,parsedNumber
應該只在if-block
中可用,應該不是嗎?
如果我試試這個:
foreach (var data in dataList)
{
data += "something";
}
Console.WriteLine(data);
Console.WriteLine(data);
找不到data
。
我認爲,解決方案是out參數,但我不確定。有人可以解釋這個嗎?
我覺得他/她問的是,爲什麼會出如果(){},我們仍然可以訪問到parsedNumber – EntryLeveDeveloper
@CodeContributor:是的,這也是有道理的,爲我的答案添加了一個編輯來涵蓋 – eugenioy
謝謝你的好解釋。 –