Nesnelerin listesinden özelliklerin listesini alın


90

Şu anda özelliklerin foreachbir listesini döndürmek için döngü kullanıyorum object.

 class X
 {
     List<X> Z = GetXlist();
     List<String> r = new List<String>();

     foreach (var z in Z)
     {
         r.Add(z.A);
     }

     return r;
}

foreachDöngüyü yazmak zorunda kalmamak için bunu kısaltmanın bir yolu var mı ?


For döngüsü yazmıyorsun. Programcılardan
Darren Young

Yanıtlar:


173

LINQ cevaptır. Nesne koleksiyonunuzdan başka bir koleksiyona "yansıtmak" için kullanabilirsiniz - bu durumda bir nesne özelliği değerleri koleksiyonu.

List<string> properties = objectList.Select(o => o.StringProperty).ToList();

13

LINQ kullanabilirsiniz:

List<X> Z = GetXlist();

List<String> r = Z.Select(z => z.A).ToList();

return r;

Ya da sadece,

return GetXlist().Select(z => z.A).ToList();

LINQ hakkında daha fazla bilgi edinin . Öyle oldukça faydalıdır.


0
List<string> properties = objectList.Select(o => o.StringProperty).ToList();

Ayrıca Özel OverLoadingYöntemle Yapabilir ve Bunu LINQ Sorgusunda Kullanabilirsiniz.


4
Bu, yerleşik cevaba değer sağlamaz
Ivan Kaloyanov
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.