C# のさまざまなメソッドの変数にアクセスする
C# の初心者は、さまざまなメソッドで定義された変数にアクセスしたり変更したりするときに困難に遭遇する可能性があります。これにより、特に相互接続された操作が必要な変数を扱う場合、コードのスムーズな実行が妨げられる可能性があります。
特定のシナリオでは、readG_TextChanged
と readQ_TextChanged
という名前のテキスト ボックスの値を読み取るための 2 つの個別のメソッド readG
と readQ
を定義します。これらの値を 10 進数に正しく変換し、それぞれ _Gd
および _Qd
として保存しますが、これらの変数はそれぞれのメソッドの範囲内でのみ有効です。
このメソッドは、ボタン クリック イベント ハンドラー button1_Click
内の _Gd
および _Qd
にアクセスできません。この問題を解決するには、スコープの概念を理解する必要があります。ローカル スコープで宣言された変数 (メソッド本体など) は、そのスコープ内でのみアクセスできます。
この問題の解決策は、_Gd
と _Qd
の宣言をクラス レベルに移動することです。これらをプライベート メンバー変数として宣言すると、クラス内のすべてのメソッド (button1_Click
を含む) からアクセスできるようになります。
以下は変更されたコードです:
<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>
これで、button1_Click
メソッドは _Gd
と _Qd
にアクセスして使用できるようになり、必要な操作を実行し、期待どおりに結果をコンソールに表示できるようになります。
以上がC# のさまざまなメソッドから変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。