如何在循环外打印foreach循环中获得的值
how to print value obtained in foreach loop outside the loop
我在 foreach
循环中找到了 denom
和 numer
的值,我想用它们来找到 average = numer/denom
。但它显示了一个错误:
The name 'numer' does not exist in the current context.
和
The name 'denom' does not exist in the current context.
请查看代码并提出修复建议。
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));
您必须在循环外声明变量。否则它不能在循环(范围)之外使用。
我还更改了您的代码中的某些内容。你用了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));
如果要在循环外使用变量,则需要在循环外声明。
我在 foreach
循环中找到了 denom
和 numer
的值,我想用它们来找到 average = numer/denom
。但它显示了一个错误:
The name 'numer' does not exist in the current context.
和
The name 'denom' does not exist in the current context.
请查看代码并提出修复建议。
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));
您必须在循环外声明变量。否则它不能在循环(范围)之外使用。
我还更改了您的代码中的某些内容。你用了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));
如果要在循环外使用变量,则需要在循环外声明。