我foreach在C#中有以下循环:
foreach(var item in mod)
{
int i;
i = i + 1;
if (i % 2 == 0)
{
string y = "even number";
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我得到局部变量未分配的消息.我想在这里找到偶数.
jgl*_*uie 14
要解决您收到的消息,您只需要初始化它:
int i = 0;
Run Code Online (Sandbox Code Playgroud)
如果您打算计算每个项目,那么您还需要将范围更改i为foreach.否则,正如您最初发布的那样,变量i将在循环的每次迭代中具有相同的值.
有关初始化和范围更改,请参阅此代码段:
int i = 0;
foreach (var item in mod)
{
i = i + 1; // is the first item considered even or odd? that answer changes where this should go
if (i % 2 == 0) {
string y = "even number";
}
}
Run Code Online (Sandbox Code Playgroud)