Gruppe Objekte mit übereinstimmenden Eigenschaften in Listen
Habe ich eine Liste von Objekten in C#. Alle Objekte enthalten Eigenschaften code1 und code2 (unter anderen Eigenschaften).
Beispiel:
List -> object = id, name, code1, code2, hours, amount.
Gibt es 31 mögliche code1-Werte.
Es gibt 10 mögliche code2 Werte.
Muss ich alle Objekte mit dem gleichen code1 und code2-Werte (die einzigartige Kombination) in Ihre eigenen Listen, die gerettet werden innerhalb einer übergeordneten Liste (so, dass jede einzelne Liste iteriert über später.)
Haben Sie versucht filtern Sie Ihre Liste mit LINQ ? Es macht die Liste filtern einfach mit Sql-Abfrage-syntax.
InformationsquelleAutor Baxter | 2012-04-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Klingt wie Sie wollen, so etwas wie:
InformationsquelleAutor Jon Skeet
Enumerable-Erweiterungen ist Ihr Freund (sind* deine Freunde? 🙂
Und....der legendäre Skeet Treffer nach, bevor ich es Tat, die SCHANDE!
Zeit zu einem Skeet (ha, rechts). Man könnte auch die Gruppe Ihre gemeinsamen Elemente in einem dictionary.
Nun-mapping ist eine
Dictionary<anon{code1, code2}, List<YourObject>>
. Natürlich könnte man auch weglassen, die ToList für den Wert und die Wert-Typ des Wörterbuches wäre ein IGrouping, die ein IEnumerable.Könnte man auch verwenden, ToLookup
Das Ergebnis ist ein ILookup, die hat einen Schlüssel von den key-Typ gegeben, und ein IEnumerable der Liste Typ. Es ist nicht ein Wörterbuch, sondern kann verwendet werden, ähnlich.
list.ToLookup(x => new { item.code1, item.code2 })
🙂InformationsquelleAutor payo