5
Próbuję utworzyć ponumerowane grupy z listy. Na przykład ta kwerenda LINQ daje to, co chcęKorzystanie z indeksu w SelectMany LINQ
(from word in "The quick brown fox jumps over the lazy dog" .Split()
group word by word.Length into w
select w)
.Select((value, index) => new { i = index + 1, value })
.SelectMany(
sm => sm.value,
(sm, s) => new { sm.i, s})
1 The
1 fox
1 the
1 dog
2 quick
2 brown
2 jumps
3 over
3 lazy
Ale postanowiliśmy zoptymalizować tej kwerendy: Dlaczego musimy używać zewnętrznego do indeksu SelectMany jeżeli posiada własny indeks w 4 przeciążenia SelectMany? Próbowałem użyć tego przeciążenia w inny sposób, ale nie widzę rozwiązania.
(from word in "The quick brown fox jumps over the lazy dog".Split()
group word by word.Length into w
select w)
.SelectMany(
(source, index) => ??????,
(msource, coll) => ??????)
Great! To znacznie łatwiejsze niż się spodziewałem. –