Berechnen Sie die Summe einer Spalte in einem datagridview in c#

Ich ein Programm erstellt, das berechnet die Summe einer Spalte in einem datagridview, das problem entsteht, wenn ich die Umgestaltung der Logik aus dem click-handler in eine separate Methode. Die calcSum Methode nicht scheinen, um mir die richtige Ausgabe im Vergleich mit button2_Click die gesamte Logik, die direkt in den click-handler.

Kann mir jemand bitte erklären, was ist falsch an meinem code?

//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());
}
  • Wo sind die Werte a und b deklariert oder initialisiert? Warum sind Sie übergeben Sie Ihre calcSum Methode?
  • Editierte, um zu versuchen und machen das dilemma klarer.
InformationsquelleAutor DisplayName | 2017-01-26
Schreibe einen Kommentar