Can I have an incrementing count variable in LINQ?

后端 未结 3 1049
没有蜡笔的小新
没有蜡笔的小新 2021-02-04 23:57

I want to do something like this:

from a in stuff
let counter = 0
select new { count = counter++, a.Name };

But I get a error telling me that c

3条回答
  •  闹比i
    闹比i (楼主)
    2021-02-05 00:06

    Rather than using side-effects, use the overload of Select which takes an index:

    stuff.Select((value, index) => new { index, value.Name });
    

    You could do it using side-effects, but not in the way you tried:

    int counter = 0;
    var query = from a in stuff
                select new { count = counter++, a.Name };
    

    I would strongly advise against this though.

提交回复
热议问题