在C#中存取不同方法的變數
C#初學者可能會遇到存取和修改在不同方法中定義的變數的難題。這可能會妨礙程式碼的順利執行,尤其是在處理需要互連操作的變數時。
在您的特定場景中,您定義了兩個單獨的方法readG_TextChanged
和readQ_TextChanged
來讀取名為readG
和readQ
的文字方塊的值。您正確地將這些值轉換為十進制數,並將它們分別儲存為_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中文網其他相關文章!