Zugriff auf Variablen verschiedener Methoden in C#
C#-Anfänger können beim Zugriff auf und beim Ändern von Variablen, die in verschiedenen Methoden definiert sind, auf Schwierigkeiten stoßen. Dies kann die reibungslose Ausführung Ihres Codes verhindern, insbesondere wenn es um Variablen geht, die miteinander verbundene Vorgänge erfordern.
In Ihrem speziellen Szenario definieren Sie zwei separate Methoden readG_TextChanged
und readQ_TextChanged
, um den Wert der Textfelder mit den Namen readG
und readQ
zu lesen. Sie konvertieren diese Werte korrekt in Dezimalzahlen und speichern sie als _Gd
bzw. _Qd
, diese Variablen sind jedoch nur im Rahmen ihrer jeweiligen Methoden gültig.
Diese Methode kann nicht auf button1_Click
und _Gd
in Ihrem Button-Click-Ereignishandler _Qd
zugreifen. Um dieses Problem zu lösen, müssen Sie das Konzept des Umfangs verstehen. Auf Variablen, die in einem lokalen Bereich (z. B. einem Methodenkörper) deklariert sind, kann nur innerhalb dieses Bereichs zugegriffen werden.
Die Lösung für dieses Problem besteht darin, die Deklarationen von _Gd
und _Qd
auf die Klassenebene zu verschieben. Indem Sie sie als private Mitgliedsvariablen deklarieren, machen Sie sie für alle Methoden in der Klasse zugänglich (einschließlich button1_Click
).
Das Folgende ist der geänderte Code:
<code class="language-csharp">private decimal _Gd; private decimal _Qd; public void readG_TextChanged(object sender, EventArgs e) { string _G = readG.Text; _Gd = Convert.ToDecimal(_G); } public void readQ_TextChanged(object sender, EventArgs e) { string _Q = readQ.Text; _Qd = Convert.ToDecimal(_Q); } private void button1_Click(object sender, EventArgs e) { decimal _ULS = (1.35m * _Gd + 1.5m * _Qd); Console.WriteLine("{0}",_ULS); }</code>
Jetzt kann die button1_Click
-Methode auf _Gd
und _Qd
zugreifen und diese verwenden, sodass Sie die erforderlichen Vorgänge ausführen und die Ergebnisse wie erwartet in der Konsole anzeigen können.
Das obige ist der detaillierte Inhalt vonWie kann ich in C# mit verschiedenen Methoden auf Variablen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!