foreach,额外的条件声明

Nic*_*ndo 3 c#

对不起,希望没有人给我留下一个noob问题,我还没有C#ref book> <

有没有办法在foreach循环中放置一个额外的条件语句,例如:

string[] giggles = new string[6] { "one", "two", "three", "four", "five", "Six" };
    int i = 0;

    foreach (string gig in giggles && i < 4)
    {
        lblDo.Text = gig;
        i++;
    }
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,但是我可以使用类似的东西,还是我在循环中使用if/break语句?谢谢!

nan*_*nan 17

你可以使用:

foreach (string gig in giggles.Take(4))
{
    //..
}
Run Code Online (Sandbox Code Playgroud)

这样做是为了创建一个新的枚举器,该枚举器仅限于前四个项目giggles.Take()是LINQ扩展方法之一,因此它与条件有点不同,但结果是一样的.

基本上你只能通过操作集合来实现很多东西.这是您特别要求的代码:

int i = 0;
foreach (string gig in giggles.Where( x => i <= 4))
{
    lblDo.Text = gig;
    i++;
}
Run Code Online (Sandbox Code Playgroud)

  • 这本身就很优雅,但是对于C#的新用户来说,它并没有真正解释foreach不使用条件,并且是尝试这样做的非标准方法...... (2认同)