c# 使用可变个数的参数,可用来累计数量不定的输入项(比如TextBox内容)的值
时间:2010-11-22 来源:有你的城市
最简单的例子比如累计表单(或textBox控件)数值,而累加项的个数不确定,或者说
为了保证更好的扩展性,在输入项增加时,方法依然适用。
例:
页面上列出6个TextBox,需要求和。
txtBox1,
txtBox2,
txtBox3,
txtBox4,
txtBox5,
txtBoxSumPay //显示合计,根据情况或许需要设为只读
1 //C#中的可变参数使用
2 //如果不用params 关键字,则参数调用的时候需要使用 new object[] {arg1, arg2}
3 public double SumPay(params int[] args) //参数可能为其他类型,根据业务需要添加
4 {
5 double sum = 0;
6 foreach (string arg in args)
7 {
8 if (!string.IsNullOrEmpty(arg))
9 sum += double.Parse(arg);
10 }
11 return sum;
12 }
在需要使用 求和 功能的时候
可用如下方法调用:
1 ...
2 ...
3 double sumpay = SumPay(txtBox1.Text, txtBox2.Text, txtBox3.Text, txtBox4.Text, txtBox5.Text);
4 if(sumpay!=0) //这里是想在textBox的值都为空时,或0时,总和不再显示
5 lblUcPayTotal.Text = sumpay.ToString();
6 ...
7 ...
8
//另外如果要想实现 每填写或修改 textBox项目的值后
//总和栏位能同步更新,可以添加 textBox_TextChanged事件到所有需要累加的textBox 空间上
//遍历所有的TextBox的textchanged事件,有些技巧,见另一篇随笔
相关阅读 更多 +