使用List和foreach

时间:2013-11-18 05:56:35

标签: c# list foreach

这是我的代码:

  int Temp = 200;
  List<int> PrimeBuilders = new List<int>();
  PrimeBuilders.Add(200);
  PrimeBuilders.Add(300);
  PrimeBuilders.Add(400);
  PrimeBuilders.Add(500);
  PrimeBuilders.Add(200);
  PrimeBuilders.Add(600);
  PrimeBuilders.Add(400);


  foreach(int A in PrimeBuilders)
  {

  }

如何查看列表并输出不包含分配给Temp的编号的索引?

2 个答案:

答案 0 :(得分:2)

如果您需要编入索引,则可能应该使用for代替foreach

for(int i = 0; i < PrimeBuilders.Count; i++)
{
    if(PrimeBuilders[i] != Temp)
        Console.WriteLine(i.ToString());
}

奖金: LINQ one-liner:

Console.WriteLine(String.Join(Environment.NewLine, PrimeBuilders.Select((x, i) => new { x, i }).Where(x => x.x != Temp).Select(x => x.i)));

答案 1 :(得分:1)

您需要的是:

int Temp = 200;
var PrimeBuilders = new List<int> {200, 300, 400, 500, 200, 600, 400};

for (int i = 0; i < PrimeBuilders.Count; i++)
{
    Console.WriteLine("Current index: " + i);

    if (PrimeBuilders[i] != Temp)
    {
        Console.WriteLine("Match found at index: " + i);
    }
}

首先,您可以使用1行初始化列表。 其次,如果你需要一个索引,那么foreach不会给你那个。你需要一个for循环,如上所示。