跨方法存取C#變數
在C#程式中處理不同的物件和方法時,可能需要在一個方法中存取另一個方法中定義的變數。本文提供了解決此常見問題的方案。
範例中,您使用的是包含名為readG
和readQ
的兩個文字方塊的C#窗體。您的目標是從這些文字方塊中讀取值,並在名為button1_Click
的單獨方法中對其執行操作。但是,當前程式碼嘗試使用在readG_TextChanged
和readQ_TextChanged
方法中定義的變數_Gd
和_Qd
,而這些變數在button1_Click
中不可存取。
要解決此問題,必須將_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>
此修改後的程式碼將_Gd
和_Qd
放在類別級別,確保它們在button1_Click
方法中可存取。文字變更事件處理方法更新這些變量,並在按鈕點擊時使用其值。這樣,您應該能夠順利地對文字方塊中輸入的數字執行操作。
以上是如何在 C# 中從一種方法存取另一種方法中的變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!