私は次のようなことをしたいのです:
from a in stuff
let counter = 0
select new { count = counter++, a.Name };
しかし、カウンターが読み取り専用であるというエラーが表示されます。クエリの外部で変数を宣言せずに、これに似た操作を実行する方法はありますか?
基本的には、カウント/インデックス列を表示したいだけですLINQPad(ちなみに、これは素晴らしいことです)、つまり、事前にカウンターを宣言することはできません。
ベストアンサー1
副作用を使用するのではなく、Select
インデックスを受け取る のオーバーロードを使用します。
stuff.Select((value, index) => new { index, value.Name });
あなたできた副作用を使用して実行しますが、試した方法ではありません:
int counter = 0;
var query = from a in stuff
select new { count = counter++, a.Name };
しかし、私はこれを強くお勧めしません。