Я создал программу, которая вычисляет сумму столбца в datagridview, проблема возникает, когда я реорганизую логику из обработчика кликов в отдельный метод. Метод calcSum
, похоже, не дает мне правильного вывода по сравнению с button2_Click
, который имеет всю логику непосредственно в обработчике кликов.Рассчитать сумму столбца в datagridview C#
Может ли кто-нибудь указать, что случилось с моим кодом?
//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());
}
Где значение а и б объявленных или инициализируются? Почему вы передаете их методу calcSum? – chadnt
Отредактировано, чтобы попытаться устранить дилемму. –