To wydaje się być zupełnie podstawowym pytaniem, ale dla mojego życia nie potrafię wypracować eleganckiego rozwiązania.LINQ to Objects auto increment number
Zasadniczo robię kwerendę LINQ, tworząc nowy obiekt z kwerendy. W nowym obiekcie chcę wygenerować automatycznie zwiększaną liczbę, aby umożliwić zachowanie kolejności wyboru do późniejszego wykorzystania (w moim przykładzie nazwano Iter
).
Oto mój obecny rozwiązanie, które robi to, czego potrzebuję:
Dim query2 = From x As DictionaryEntry In MasterCalendarInstance _
Order By x.Key _
Select New With {.CalendarId = x.Key, .Iter = 0}
For i = 0 To query2.Count - 1
query2(i).Iter = i
Next
Czy istnieje sposób, aby zrobić to w kontekście zapytania LINQ (tak, że nie mam do pętli kolekcję po sobie pytanie)?
Nie bardzo rozumiem, jak to rozwiązuje mój problem. w jaki sposób wartość ixc jest zapełniana i automatycznie zwiększana? – Nathan
automagicznie :) jest przeciążeniem dla metody rozszerzenia .Select, która przyjmuje Func (patrz http://msdn.microsoft.com/en-us/library/bb534869.aspx) –
veggerby
Dzięki temu rozwiązał mój problem. Doceniam pomoc! – Nathan