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

时间:2013-10-30 01:17:43

标签: c# variables methods

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脱离了上下文,除此之外我认为它会运行得很好

2 个答案:

答案 0 :(得分:2)

你应该阅读范围界定...... 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);
}

答案 1 :(得分:1)

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

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

 private decimal _Gd;
 private decimal _Qd;

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

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

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