如何在选择中没有计数器的情况下进行计数?

时间:2015-07-16 16:34:59

标签: c# foreach

有时,在开发阶段,我需要查看是否为每个创建的元素更改名称,或者只是希望区分不同的实例'数组中的名称。这种行为严格用于开发阶段,并且只能在短时间内应用(因此无需长期解决方案 - Q& D就好了)。

通常,我会以下列方式介绍一个计数器,但它只是让我感到有一种更好的方法。基本上,我希望模拟的计数器变量的行为而不实际引入它(留在 foreach )。

int counter = 1;
IEnumerable<Typo> result = originals.Select(original 
  => new Thingy { Name = "Hazaa" + counter++ });

1 个答案:

答案 0 :(得分:12)

使用Select

this重载
IEnumerable<Typo> result = originals.Select((original, counter)
  => new Thingy { Name = "Hazaa" + (counter + 1) });