如何在循环外打印foreach循环中获得的值

本文关键字:循环 打印 foreach | 更新日期: 2023-09-27 18:13:07

我在foreach循环中找到了denomnumer的值,我想用它们来找到average = numer/denom。但是它显示了一个错误:

名称' number '在当前上下文中不存在。

名称' dom '在当前上下文中不存在。

请查看代码并建议修复

foreach (DataRow rw in dataTablebuy.Rows)
{
     int denom = 0;
     denom = denom + int.Parse(rw["Quantity"].ToString());
     int numer = 0;
     numer = numer + (int.Parse(rw["Quantity"].ToString()) * int.Parse(rw["price"].ToString()));
}
float avg = numer / denom;
Response.Write(String.Format("Element {0}", avg));

如何在循环外打印foreach循环中获得的值

必须在循环外声明变量。否则它不能在循环(作用域)之外使用。我还修改了你的代码。你用的是denom = denom + ...,看看我是怎么做的。它的工作原理完全相同。

int denom = 0;
int numer = 0;
foreach (DataRow rw in dataTablebuy.Rows)
{
     denom += int.Parse(rw["Quantity"].ToString());
     numer += (int.Parse(rw["Quantity"].ToString()) * int.Parse(rw["price"].ToString()));
}
float avg = numer / denom;
Response.Write(String.Format("Element {0}", avg));

如果你想在循环外使用变量,那么它们需要在循环外声明。