Linq-Abfrage, um bestimmte Feldwerte aus einer Liste von Objekten zurückzugeben
class obj
{
int typeID; //10 types 0-9
string uniqueString; //this is unique
}
Davon ausgehen, hier ist eine Liste mit 100 Elementen von obj, aber nur 10 einzigartige typeIDs.
Ist es möglich zu tun, schreiben Sie eine LINQ-Abfrage die 10 einzigartigen ints aus der Liste der objs?
InformationsquelleAutor der Frage patrick | 2011-06-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor der Antwort Arsen Mkrtchyan
Vorausgesetzt, Sie wollen das vollständige Objekt, sondern nur wollen, beschäftigen sich mit der Unterscheidbarkeit von
typeID
es gibt nichts, gebaut in LINQ um dies einfach zu machen. (Wenn Sie nur wollen dietypeID
Werte, es ist einfach - Projekt, das mitSelect
und dann die normaleDistinct
nennen.)In MoreLINQ wir haben die
DistinctBy
Betreiber, die Sie verwenden könnten:Funktioniert dies nur für LINQ to Objects obwohl.
Können Sie eine Gruppierung oder eine Suche, es ist nur etwas lästig und ineffizient:
InformationsquelleAutor der Antwort Jon Skeet
Wenn Sie wollen einfach nur, um Benutzer Reine Linq, können Sie mit groupby:
Wenn Sie möchten, eine Methode, die verwendet werden, alle über die app:
als MoreLinq Hat
Mit dieser Methode zu finden, die unterschiedlichen Werte mit nur die Id-Eigenschaft, die Sie verwenden könnten:
können Sie mehrere Eigenschaften:
InformationsquelleAutor der Antwort JulioCT
Sicher, verwenden Sie
Enumerable.Distinct
.Gegeben eine Sammlung von
obj
(z.B.foo
), würde man etwas wie das hier tun:InformationsquelleAutor der Antwort Donut
Ich denke, das ist, was Sie suchen:
Ähnlich wie diese Rückgabe eines Distinct IQueryable mit LINQ?
InformationsquelleAutor der Antwort Gage
Wollte ich zum binden einer bestimmten Daten-dropdown-Menü und es sollte klar erkennbar sein.
Ich habe die folgenden:
Sehen, ob es hilft
InformationsquelleAutor der Antwort Charmy Vora