Accéder aux variables de différentes méthodes en C#
Les débutants en C# peuvent rencontrer des difficultés pour accéder et modifier les variables définies dans différentes méthodes. Cela peut empêcher l’exécution fluide de votre code, en particulier lorsqu’il s’agit de variables nécessitant des opérations interconnectées.
Dans votre scénario particulier, vous définissez deux méthodes distinctes readG_TextChanged
et readQ_TextChanged
pour lire la valeur des zones de texte nommées readG
et readQ
. Vous convertissez correctement ces valeurs en nombres décimaux et les stockez respectivement sous _Gd
et _Qd
, mais ces variables ne sont valides que dans le cadre de leurs méthodes respectives.
Cette méthode ne peut pas accéder à button1_Click
et _Gd
dans votre gestionnaire d'événements de clic de bouton _Qd
. Pour résoudre ce problème, vous devez comprendre le concept de portée. Les variables déclarées dans une portée locale (comme un corps de méthode) ne sont accessibles que dans sa portée.
La solution à ce problème est de déplacer les déclarations de _Gd
et _Qd
au niveau de la classe. En les déclarant comme variables membres privées, vous les rendez accessibles à toutes les méthodes de la classe (y compris button1_Click
).
Voici le code modifié :
<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>
Désormais, la méthode button1_Click
peut accéder et utiliser _Gd
et _Qd
, vous permettant d'effectuer les opérations nécessaires et d'afficher les résultats dans la console comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!