Warum tritt der Fehler „Verwendung einer nicht zugewiesenen lokalen Variablen“ auf, wenn die if-Anweisung in C# verwendet wird?
Bei der Verwendung von if-Anweisungen in C# kann der Fehler „Verwendung einer nicht zugewiesenen lokalen Variablen“ auftreten, selbst wenn Sie beabsichtigen, der Variablen im Bedingungsblock einen Wert zuzuweisen. Dies liegt daran, dass der Compiler nicht garantieren kann, dass ein bestimmter Codeblock ausgeführt wird.
Betrachten Sie den folgenden Code, der die Variablen annualRate
, monthlyCharge
und lateFee
verwendet:
<code class="language-csharp">if (condition1) { // 为变量赋值... } else if (condition2) { // 为变量赋予不同的值... }</code>
Da der Compiler nicht bestimmen kann, welche Bedingung erfüllt ist, geht er davon aus, dass einer oder beiden Variablen möglicherweise kein Wert zugewiesen ist, was zur Fehlermeldung führt.
Um dieses Problem zu lösen, können Sie einen else {}
-Block verwenden, um sicherzustellen, dass mindestens ein Block ausgeführt wird und so sichergestellt wird, dass allen Variablen Werte zugewiesen werden. Alternativ können Sie die switch
-Anweisung anstelle der if/else
-Anweisung verwenden, da diese garantiert, dass mindestens ein case
ausgeführt wird.
<code class="language-csharp">switch (condition) { case 1: // 为变量赋值... break; case 2: // 为变量赋予不同的值... break; default: // 默认情况 break; }</code>
Durch die Verwendung eines else
-Blocks oder einer switch
-Anweisung teilen Sie dem Compiler mit, dass alle Variablen zugewiesen werden, unabhängig davon, welcher Block ausgeführt wird, und beseitigen so den Fehler „Verwendung einer nicht zugewiesenen lokalen Variablen“.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in C# die Fehlermeldung „Verwendung einer nicht zugewiesenen lokalen Variablen', wenn ich „if'-Anweisungen verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!