LINQ to Objects auto-Inkrement-Nummer
Fühlt sich an wie eine ganz grundlegende Frage, aber für das Leben von mir, ich kann nicht scheinen zu funktionieren, eine elegante Lösung.
Grundsätzlich bin ich dabei eine LINQ-Abfrage erstellen Sie ein neues Objekt aus der Abfrage. In das neue Objekt ich erzeugen möchten ein auto-increment Nummer, mir zu erlauben, immer eine Auswahl, um für die spätere Verwendung (benannt Iter
in meinem Beispiel).
Hier ist meine aktuelle Lösung, die tut, was ich brauche:
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
Gibt es eine Möglichkeit, dies im Rahmen des LINQ-Abfrage (so dass ich nicht haben, um in einer Schleife die collection nach der Abfrage)?
InformationsquelleAutor Nathan | 2009-02-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mir verzeihen, für die dies in C# nicht ganz sicher, die syntax in VB.NET:
automatisch 🙂 es ist eine überlastung .Wählen Sie Erweiterung-Methode, die eine Funktion<T, int, TResult> (siehe msdn.microsoft.com/en-us/library/bb534869.aspx)
Dank diesem ist mein problem gelöst. Ich Schätze die Hilfe!
D ' Oh. +1 für Lesen der docs 🙂
kann das getan werden, mit 'von/in'?
InformationsquelleAutor veggerby
Ich weiß nicht, ob dies möglich ist, in VB, aber in C# verwendet man einen Verschluss:
Dies war meine erste Neigung (Gerneraly, ich bin ein c# - dude). Allerdings bin ich mir nicht bewusst vb.net version von ++ . Ich war versucht, stick in eine delegate-Methode um dies zu umgehen, aber fügt hinzu, dass weitere Komplikation, als ich es lieber in so einer einfachen Aufgabe.
+1 funktioniert Dies, wenn Sie möchten, um den code in der Abfrage-syntax anstelle der Lambda-syntax.
InformationsquelleAutor Richard
Den oben genannten Lösungen könnten wie folgt zusammengefasst werden VB.NET wie diese :
InformationsquelleAutor Invvard
Lief ich in diesem post, während Sie versuchen zu lösen ein ähnliches problem mit einer List(of String).
Bin ich Entsendung mein workaround in der Hoffnung, dass es kann angenommen werden, um das Problem zu lösen, aber mehr für jemanden anderen, der ausgeführt wird in dieser Ausgabe mit einer List(Of T).
Hoffe, das hilft!
InformationsquelleAutor Airn5475