c#foreach循环偶数

Nat*_*Pet 2 c#

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)

如果您打算计算每个项目,那么您还需要将范围更改iforeach.否则,正如您最初发布的那样,变量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)


Bri*_*les 5

您需要初始化i变量:

int i = 0;
Run Code Online (Sandbox Code Playgroud)

您目前正在尝试将+1添加到未分配的变量中.