0

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

readQreadG是盒子的名字。button1是继续操作的按钮,并将其显示在控制台中。

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

4

2 回答 2

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);
}
于 2013-10-30T01:22:24.453 回答
1

这涉及变量范围。变量 _Qd 和 _Gd 仅在其方法中具有作用域。

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

 private decimal _Gd;
 private decimal _Qd;

.

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

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

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

于 2013-10-30T01:25:22.420 回答