跨方法访问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中文网其他相关文章!