使用来自其他方法C#的变量

C#编程新手,非常缺乏经验

我正在创建一个带有文本框的表单,我希望我的程序在方法中读取该框中的数字,并在其他方法中使用这些数字执行操作,现在是这样的

public void readG_TextChanged(object sender, EventArgs e) { string _G = readG.Text; decimal _Gd = Convert.ToDecimal(_G); } public void readQ_TextChanged(object sender, EventArgs e) { string _Q = readQ.Text; decimal _Qd = Convert.ToDecimal(_Q); } private void button1_Click(object sender, EventArgs e) { decimal _ULS = (1.35m * _Gd + 1.5m * _Qd); Console.WriteLine("{0}",_ULS); } 

readQ,readG是框名称button1是进入操作的按钮,并在控制台上显示

到目前为止,我在button1_click方法中将_Gd和_Qd脱离了上下文,除此之外我认为它会运行得很好

你应该阅读范围… http://msdn.microsoft.com/en-us/library/ms973875.aspx

一种方法是让_Qd和_Gd处于类级别,而不是在方法本身中定义,以便您可以在click方法中访问它们。

 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); } 

这涉及可变范围 。 变量_Qd和_Gd只在其方法中具有范围。

您可以在类的主体中将它们设置为类成员,即在方法之外声明它们,如下所示:

  private decimal _Gd; private decimal _Qd; 

然后你可以像这样设置它们:

  _Gd = Convert.ToDecimal(_G); _Qd = Convert.ToDecimal(_Q); 

这些变量将在您class级的任何方法中可见。