Linq / Lambda Frage zu .Wählen Sie (newby Learning 3.0)

8

Ich spiele mit den neuen Sachen von C # 3.0 und ich habe diesen Code (meistens aus MSDN ), aber ich kann nur wahr werden, falsch, wahr ... und nicht den wahren Wert:

%Vor%

Wie kann ich das beheben, um die Liste der Ganzzahl anzuzeigen?

    
Patrick Desjardins 28.10.2008, 01:29
quelle

2 Antworten

25

Ändern Sie Ihre "Auswahl" zu einem "Wo"

%Vor%

Die Methode "Select" erstellt eine neue Liste des Lambda-Ergebnisses für jedes Element (true / false). Die "Where" -Methode filtert basierend auf dem Lambda.

In C # könnten Sie auch diese Syntax verwenden, die Sie klarer finden können:

%Vor%

, zu dem der Compiler übersetzt:

%Vor%     
TheSoftwareJedi 28.10.2008, 01:30
quelle
5
%Vor%

Ändern Sie dies zu

%Vor%

Was Auswahl ist, ist "konvertieren" eine Sache in eine andere. Also, in diesem Fall ist es "Konvertieren" n zu "n% 2 == 1" (was ein Boolean ist) - daher erhalten Sie alle wahr und False.

Es wird normalerweise verwendet, um Eigenschaften für Dinge zu erhalten. Zum Beispiel, wenn Sie eine Liste von Person -Objekten hätten und Sie ihre Namen bekommen wollten, würden Sie

machen %Vor%

Sie können sich das so vorstellen:

  • Konvertieren Sie die Liste der Personen in eine Liste von Strings mit der folgenden Methode: (p = & gt; p.Name)

Um eine Teilmenge einer Sammlung (im Sinne von "Filterung" des Wortes) auszuwählen, müssen Sie Where verwenden.

Danke Microsoft für die schreckliche Benennung

    
Orion Edwards 28.10.2008 01:33
quelle

Tags und Links