这是我的代码:
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
的编号的索引?
答案 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循环,如上所示。