2011-05-31 17 views
15

supongamos que si agrego una instancia de clase de persona a la lista y luego necesito consultar la lista usando linq.cómo consultar LIST usando linq

List lst=new List(); 
lst.add(new person{ID=1,Name="jhon",salaty=2500}); 
lst.add(new person{ID=2,Name="Sena",salaty=1500}); 
lst.add(new person{ID=3,Name="Max",salaty=5500}); 
lst.add(new person{ID=4,Name="Gen",salaty=3500}); 

ahora quiero consultar la lista anterior con linq. por favor, guíame con código de muestra.

+2

de consulta y encontrar qué? –

Respuesta

26

Me gustaría también sugieren LinqPad como una manera conveniente para hacer frente con LINQ tanto para avanzados y principiantes.

Ejemplo:
enter image description here

7

Puesto que no se ha dado ninguna indicación de lo que desea, aquí hay un enlace a 101 muestras de LINQ que utilizan todos los diferentes métodos de LINQ: 101 LINQ Samples

También, usted debe realmente realmente cambia su List en una lista fuertemente tipos (List<T>), y define T, y agrega instancias de T a tu lista. Realmente hará que las consultas sean mucho más fáciles ya que no tienes que lanzar todo todo el tiempo.

13

Bueno, el código que has dado no es válido para empezar - List es un tipo genérico, y tiene un método en lugar de add etc.

Add Pero usted podría hacer algo como:

List<Person> list = new List<Person> 
{ 
    new person{ID=1,Name="jhon",salaty=2500}, 
    new person{ID=2,Name="Sena",salaty=1500}, 
    new person{ID=3,Name="Max",salaty=5500}. 
    new person{ID=4,Name="Gen",salaty=3500} 
}; 

// The "Where" LINQ operator filters a sequence 
var highEarners = list.Where(p => p.salaty > 3000); 

foreach (var person in highEarners) 
{ 
    Console.WriteLine(person.Name); 
} 

Si desea conocer los detalles de lo que hacen todos los operadores de LINQ, y cómo se pueden implementar en LINQ to Objects, es posible que le interese mi Edulinq blog series.

+0

El enlace de la serie de blog ya no funciona, actualícelo o elimínelo. – rahularyansharma

8
var persons = new List<Person> 
    { 
     new Person {ID = 1, Name = "jhon", Salary = 2500}, 
     new Person {ID = 2, Name = "Sena", Salary = 1500}, 
     new Person {ID = 3, Name = "Max", Salary = 5500}, 
     new Person {ID = 4, Name = "Gen", Salary = 3500} 
    }; 

var acertainperson = persons.Where(p => p.Name == "jhon").First(); 
Console.WriteLine("{0}: {1} points", 
    acertainperson.Name, acertainperson.Salary); 

jhon: 2500 points 

var doingprettywell = persons.Where(p => p.Salary > 2000); 
      foreach (var person in doingprettywell) 
      { 
       Console.WriteLine("{0}: {1} points", 
        person.Name, person.Salary); 
      } 

jhon: 2500 points 
Max: 5500 points 
Gen: 3500 points 

     var astupidcalc = from p in persons 
          where p.ID > 2 
          select new 
            { 
             Name = p.Name, 
             Bobos = p.Salary*p.ID, 
             Bobotype = "bobos" 
            }; 
     foreach (var person in astupidcalc) 
     { 
      Console.WriteLine("{0}: {1} {2}", 
       person.Name, person.Bobos, person.Bobotype); 
     } 

Max: 16500 bobos 
Gen: 14000 bobos 
Cuestiones relacionadas