Beispiel:Umfang Variable out-Parameter
Ich habe folgenden Codeblock:
if (!int.TryParse("123", out var parsedNumber))
{
return;
}
Console.WriteLine(parsedNumber);
Der Ausgang in der Konsole ist: 123
Frage:
Wie ist es möglich, dass die Linie Console.WriteLine(parsedNumber);
überweiß?
Nach meinem Verständnis, parsedNumber
sollte nur in der if-block
, sollte es nicht?
Wenn ich versuche dies:
foreach (var data in dataList)
{
data += "something";
}
Console.WriteLine(data);
Console.WriteLine(data);
nicht data
finden.
Ich denke, dass die Lösung der Out-Parameter ist, aber ich bin mir nicht sicher. Kann jemand das erklären?
denke ich, was er/sie fragt ist, warum aus if() {}, können wir immer noch Zugriff auf parsedNumber – EntryLeveDeveloper
@CodeContributor: Ja, das macht auch Sinn, fügte ein EDIT meiner Antwort hinzu, um das zu bedecken – eugenioy
Danke für diese gute Erklärung. –