Wie zu verwenden lambda-Ausdruck, wählen Sie bestimmte Artikel?
Ich bin nur zu lernen, lambda-expression, und ich möchte zu verwenden lambda-Ausdruck, wählen Sie ein bestimmtes Element.
Ich möchte hier wählen Sie eine person mit key = 1, so dass selectedOne = "sanjay"
var people = new Dictionary<int, string>();
people.Add(1, "sanjay");
people.Add(2, "roshan");
people.Add(3, "neejesh");
people.Add(4, "deep");
var selectedOne = people.Select(x => x.Key == 1);
Wie soll ich konstruiere meine lambda-Abfrage?
Dank!
Filter zuerst mit
Warum die Verwendung von LINQ mit einem Wörterbuch, anstelle einer lookup, z.B.:
Where
und Hole dann das Ergebnis mit Select
.Warum die Verwendung von LINQ mit einem Wörterbuch, anstelle einer lookup, z.B.:
people[1]
?InformationsquelleAutor user3342876 | 2014-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dictionary
ist implementiertIEnumerable
vonKeyValuePair
enthältKey
undValue
Eigenschaft:Sind Sie mit falschen LINQ-Methode.
Select
wird verwendet, um Projekt einige Werte (Transformation von einem ins andere). Sie müssen statt filter (Suche über key angegeben).Aber... mit LINQ to wählen Sie dictionary-Schlüssel nicht effizient. Besser ist:
Es ist amortisiert O(1) gegen O(n) - riesiger Unterschied.
InformationsquelleAutor
Sie möchten, verwenden Sie eine Where-Aufruf zum filtern des Resultsets an die person, die Sie wollen, dann Wählen Sie verwenden, definieren Sie die Ergebnisse, die Sie wollen, z.B.
Wäre es viel effizienter, führen den Blick bis über die Wörterbücher index vorgeschlagen von pwas
InformationsquelleAutor Shane
Sollte der code so etwas wie:
Dadurch erhalten Sie die keyvalue-pair-Mädchen. Wenn Sie möchten, dass die Zeichenfolge nur:
InformationsquelleAutor Gimly
Sieht es aus wie Sie mischen das Konzept der
Lambda Expression
undLINQ
. Sie haben dieLambda Expression
. Aber wenn SieLINQ
die erste Bedingung ist die Sammlung von Daten, die Sie verwenden müssen implementiertIEnumerable
Schnittstelle z.B.LIST<T>
Jetzt schreiben Sie IhreLINQ
code:InformationsquelleAutor Ammar