supposons que si j'ajoute une instance de classe personne à la liste, puis j'ai besoin d'interroger la liste à l'aide de 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});
maintenant je veux interroger la liste ci-dessus avec linq. veuillez me guider avec un exemple de code.
Je suggérerais également LinqPad comme un moyen pratique de s'attaquer à Linq pour les débutants et les avancés.
Exemple:
Eh bien, le code que vous avez donné n'est pas valide pour commencer - List
est un type générique, et il a une méthode Add
au lieu de add
etc.
Mais vous pourriez faire quelque chose comme:
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 vous souhaitez en savoir plus sur ce que font tous les opérateurs LINQ et comment les implémenter dans LINQ to Objects, vous pourriez être intéressé par mon série de blogs Edulinq .
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
Puisque vous n'avez donné aucune indication sur ce que vous voulez, voici un lien vers 101 exemples LINQ qui utilisent toutes les différentes méthodes LINQ: 101 échantillons LINQ
De plus, vous devez vraiment vraiment vraiment changer votre List
en une liste de types fortement (List<T>
), définissez correctement T et ajoutez des instances de T à votre liste. Cela rendra les requêtes beaucoup plus faciles car vous n'avez pas besoin de tout diffuser tout le temps.