LINQ Comment sélectionner plus d'une propriété dans une expression lambda?
Nous utilisons souvent le suivant expression lambda
MyList.Select(x => x.Id).ToList();
Est possible d'obtenir plus de 1 propriété usinglambda expression ? E. g Id
et Name
de MyList?
Je sais que je peux utiliser la syntaxe suivante:
(from item in MyList
select new { item.Id, item.Name }).ToList();
Puis-je faire la même chose en utilisant la lambda expression?
source d'informationauteur Tony
Vous devez vous connecter pour publier un commentaire.
La fonction qui vous intéresse, c'est le C# 3 Les Types Anonymes
Vous pouvez créer une nouvelle instance d'un type anonyme avec:
Bien sûr, cela fonctionne comme un lamda trop:
n'importe où dans votre code. Il reprend aussi les noms de propriété, dans ce cas, vous n'avez pas besoin de le spécifier explicitement(le troisième membre de la anonyme de type dans mon exemple est automatiquement nommé
Text
.Malheureusement, vous ne pouvez pas les utiliser comme un non générique de retour d'une fonction.