Actualmente utilizo foreach
loop para devolver una lista de object
propiedades.
class X
{
List<X> Z = GetXlist();
List<String> r = new List<String>();
foreach (var z in Z)
{
r.Add(z.A);
}
return r;
}
¿Hay alguna forma de acortar esto para no tener que escribir el foreach
ciclo?
Respuestas:
LINQ es la respuesta. Puede usarlo para "proyectar" desde su colección de objetos a otra colección, en este caso una colección de valores de propiedad de objeto.
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
fuente
Podrías usar LINQ:
List<X> Z = GetXlist(); List<String> r = Z.Select(z => z.A).ToList(); return r;
O solo,
return GetXlist().Select(z => z.A).ToList();
Obtenga más información sobre LINQ . Es bastante útil.
fuente
List<string> properties = objectList.Select(o => o.StringProperty).ToList();
También puede hacerlo mediante un
OverLoading
método privado y usarlo en LINQ Query.fuente