Actuellement, j'utilise foreach
loop pour renvoyer une liste de object
propriétés.
class X
{
List<X> Z = GetXlist();
List<String> r = new List<String>();
foreach (var z in Z)
{
r.Add(z.A);
}
return r;
}
Existe-t-il un moyen de raccourcir cela pour ne pas avoir à écrire la foreach
boucle?
Réponses:
LINQ est la réponse. Vous pouvez l'utiliser pour "projeter" votre collection d'objets vers une autre collection - dans ce cas, une collection de valeurs de propriété d'objet.
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
la source
Vous pouvez utiliser LINQ:
List<X> Z = GetXlist(); List<String> r = Z.Select(z => z.A).ToList(); return r;
Ou juste,
return GetXlist().Select(z => z.A).ToList();
En savoir plus sur LINQ . C'est assez utile.
la source
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
Vous pouvez également le faire par
OverLoading
méthode privée et l'utiliser dans la requête LINQ.la source