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

1 つの方法は、_Qd と _Gd をメソッド自体では定義せずにクラス レベルにすることです。これにより、クリック メソッドでそれらにアクセスできるようになります。

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 に答える