累加行值c#

累加行值c#,c#,datagrid,C#,Datagrid,我希望累积每个单元格的值,并将其显示在flex单元格中网格末尾的“总计列”中。哪种方式是最好的 到目前为止,我有以下代码,我认为这是不正确的 int total = 0; for (int B = 3; B < 27; B++) { total = total + int.Parse(this.grid2.Cell(0, B).ToString()); this.grid2.Cell(0, 27).Text = total.ToString(); } int-total=

我希望累积每个单元格的值,并将其显示在flex单元格中网格末尾的“总计列”中。哪种方式是最好的

到目前为止,我有以下代码,我认为这是不正确的

int total = 0;
for (int B = 3; B < 27; B++)
{
    total = total + int.Parse(this.grid2.Cell(0, B).ToString());
    this.grid2.Cell(0, 27).Text = total.ToString();
}
int-total=0;
对于(intb=3;B<27;B++)
{
total=total+int.Parse(this.grid2.Cell(0,B.ToString());
this.grid2.Cell(0,27).Text=total.ToString();
}

我觉得您的代码似乎正确,但可以改进:

int total = 0;
for (int B = 3; B < 27; B++)
{
      total = total + Convert.ToInt32(this.grid2.Cell(0, B));
}

this.grid2.Cell(0, 27).Text = total.ToString();
int-total=0;
对于(intb=3;B<27;B++)
{
total=total+Convert.ToInt32(这个.grid2.Cell(0,B));
}
this.grid2.Cell(0,27).Text=total.ToString();
只将需要重复的内容放入for循环中。如果只需要执行一次,则将其放在循环之后(或之前,如果可能)。 此外,尝试为变量使用更有意义的全名。如果您不想给它起一个很长的名字,我会将“B”改为“I”,或者改为“column”,这样您(和其他开发人员,比如我们)就知道它代表什么了

顺便说一句,代码计算一行(第一行)的和。如果要对每行执行此操作,则需要双for循环:

for(int row = 0;row < numRows; row++){
  int total = 0;
    for (int column = 3; column < 27; column++)
    {
          total = total + Convert.ToInt32(this.grid2.Cell(row, column));
    }
  this.grid2.Cell(row, 27).Text = total.ToString();
}
for(int行=0;行
好吧,对于我的口味来说,有太多的“神奇值”(什么是
27
?为什么从
3
?)开始),但是对于总结内容,在所有值和
total+=value
上循环是一个非常好的方法。但是put
this.grid2.Cell(0,27).Text=total.ToString()
for
循环之外!没有必要每次都写下总数。在你真正拥有它之后再写。另外
int.Parse(这个.grid2.Cell(0,B).ToString())
看起来非常难看。这个.grid2.Cell(0,B)
的类型是什么?我想在单元格3中开始求和,在单元格27中完成求和