वस्तुओं की सूची से गुणों की सूची प्राप्त करें


90

वर्तमान में मैं गुणों की foreachसूची वापस करने के लिए लूप का उपयोग करता हूं object।

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

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

     return r;
}

क्या कोई रास्ता है कि मैं इसे छोटा कर दूं ताकि मुझे foreachलूप लिखना न पड़े ?


आप लूप के लिए नहीं लिख रहे हैं। एक अंतर है कि आपको प्रोग्रामर के
— डैरेन यंग

जवाबों:


173

LINQ जवाब है। आप इसे अपने ऑब्जेक्ट संग्रह से दूसरे संग्रह में "प्रोजेक्ट" के लिए उपयोग कर सकते हैं - इस मामले में ऑब्जेक्ट संपत्ति मूल्यों का एक संग्रह।

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

13

आप LINQ का उपयोग कर सकते हैं:

List<X> Z = GetXlist();

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

return r;

या केवल,

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

LINQ के बारे में अधिक जानकारी प्राप्त करें । यह बहुत उपयोगी है।


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

आप भी OverLoadingLINQ Query में प्राइवेट मेथड और यूज कर सकते हैं ।


4
यह स्थापित उत्तर के लिए मूल्य प्रदान नहीं करता है
— इवान कालोयानोव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.