Dapatkan daftar properti dari Daftar objek


90

Saat ini saya menggunakan foreachloop untuk mengembalikan daftar objectproperti.

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

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

     return r;
}

Adakah cara agar saya bisa mempersingkat ini sehingga saya tidak perlu menulis foreachloop?


Anda tidak sedang menulis for loop. Ada perbedaan yang harus Anda ketahui tentang programmer.stackexchange.com/questions/178218/…
Darren Young

Jawaban:


173

LINQ adalah jawabannya. Anda dapat menggunakannya untuk "memproyeksikan" dari koleksi objek Anda ke koleksi lain - dalam hal ini kumpulan nilai properti objek.

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

13

Anda bisa menggunakan LINQ:

List<X> Z = GetXlist();

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

return r;

Atau hanya,

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

Cari tahu lebih lanjut tentang LINQ . Ini sangat berguna.


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

Anda Juga Dapat Melakukan Dengan OverLoadingMetode Pribadi dan Menggunakannya di Query LINQ.


4
Ini tidak memberikan nilai pada jawaban yang ditetapkan
Ivan Kaloyanov
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.