【发布时间】:2017-01-26 20:46:22
【问题描述】:
我创建了一个计算数据网格视图中列的总和的程序,当我将点击处理程序中的逻辑重构为单独的方法时,就会出现问题。与button2_Click 相比,calcSum 方法似乎没有给我正确的输出,button2_Click 的所有逻辑都直接在点击处理程序中。
谁能指出我的代码有什么问题?
//Calls sum of column method, "incorrect" output
private void button1_Click(object sender, EventArgs e){
calcSum(a,b,3);
}
private double calcSum(double a, double b, int c){
foreach(DataGridViewRow r in dataGridView1.Rows){
a = Convert.ToDouble(r.Cells[c].Value);
b = b + a;
}
MessageBox.Show("sum is " = b.ToString());
return b;
}
//shows correct/calculates output
private void button2_Click(object sender, EventArgs e){
double a =0,b=0;
foreach (DataGridViewRow r in dataGridView1.Rows){
a = Convert.ToDouble(r.Cells[3].Value);
b = b + a;
}
MessageBox.Show(b.ToString());
}
【问题讨论】:
-
值 a 和 b 在哪里声明或初始化?为什么要将它们传递给 calcSum 方法?
-
已编辑以尝试使困境更清晰。