在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中文网其他相关文章!