2 Stimmen

Unterschied zwischen zwei "where "s in LINQ

Bitte erklären Sie mir den Unterschied zwischen dem "where" in (1) und dem "where()" in (2).

Wann sind "where" und "where()" zu verwenden?

List<Person> pList = 
new List<Person>
  {  
       new Person
             {EmpNo=1,FirstName="Marc",LastName="Loel",Salary=3434},

       new Person
             {EmpNo=2, FirstName="Steve",LastName="Kaith",Salary=4545},       

       new Person 
             {EmpNo=3,FirstName="Neol",LastName="Henk",Salary=2222},          

   };

 (1) var v = from p in pList where p.EmpNo == 1 select new { p.FirstName };

 (2)  var query =pList .Where(p => p.EmpNo == 1)
                               .Select(p => new { p.FirstName});

1voto

Guffa Punkte 663241

Der Unterschied (wenn Sie wählerisch sein wollen) besteht darin, dass die erste LINQ ist und die zweite nicht.

LINQ ist die integrierte Abfragesprache, die Sie im ersten Beispiel sehen, und der Compiler wandelt sie in die Erweiterungsmethoden um, die Sie im zweiten Beispiel sehen.

8 Stimmen

Ich stimme nicht zu, die zweite Methode ist eine LINQ-Abfrage, nur ohne Verständnis-Syntax.

0 Stimmen

Warum die Herabstufung? Wenn Sie nicht sagen, was Ihnen nicht gefällt, ist es ziemlich sinnlos.

-1voto

Dhananjay Punkte 3515

Es gibt einige zusätzliche Funktionen in der Methode where (), z. B. können Sie die Indexerweiterung der Methode where verwenden.

Aber im vorliegenden Beispiel geht es nur um die Lesbarkeit.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X