foreach循环的替代方案 [英] alternative of foreach loop

查看:75
本文介绍了foreach循环的替代方案的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人都可以帮助我

我使用foreach

anybody can help me
I use foreach

foreach (DataGridViewRow r in dgv_item.Rows)
{
  Amount = Amount - Convert.ToDecimal(r.Cells["Amount"].Value.ToString());
}



但在此代码中编译次数更多



i只需要一次值减去金额...........

推荐答案

var TotalAmount = (decimal)(from DataGridViewRow dgv_item in dgv_item.Rows
              select Convert.ToDecimal(((TextBox)dgv_item.FindControl("txtAmount")).Text)).Sum();

    Amount = Amount - TotalAmount;







希望此帮助。




hope this help .


int rowCount = dgv_item.RowCount;
for (int i = 0; i < rowCount; i++)
   {
     DataGridViewRow row = dgv_item.Rows[i];
     Amount = Amount - Convert.ToDecimal(row.Cells["Amount"].Value.ToString());
   }


你有几个可以使用的解决方案



1 .for循环

you have a couple of solutions that you could use

1. for loop
int Amount = 0;
for(int i = 0; i < dgv_item.Rows.Count(); i++)
{
  Amount -= Convert.ToDecimal(dgv_items.Row[i].Cells["Amount"].Value);
}





或LinQ



如何计算DataTable列的总和在LINQ(到数据集)? [ ^ ]


这篇关于foreach循环的替代方案的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆