使用来自其他方法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级的任何方法中可见。
- 如何使用Visual Studio 2005 / resharper自动为文件夹,命名空间或项目中的每个文件添加“using”语句
- 为什么我在使用Microsoft.Bcl时不能在Windows Phone 7.1 MvvmCross项目中使用await关键字 – 无法等待’System.Threading.Tasks.Task?
- 如何使用WinDBG列出所有托管线程的调用堆栈?
- Selenium测试工作时如何工作
- 我有一个单一文件,需要随机序列化多个对象。 我怎么能在c#中?
- 调用RunWorkerAsync一次时,会调用BackgroundWorker的DoWork两次?
- 在C#中手动复制文件时显示复制文件对话框/表单?
- C# – 我无法引用HttpPostedFileBase
- 更改Winforms菜单下拉列表的边框颜色