2011-04-19 9 views
5

का उपयोग करशब्दकोश की सूची मैं सी # में कोड स्निपेट निम्नलिखित है Linq

public class Client 
{ 
    public string ID { get; set; } 
    public string Name { get; set; } 
    public string Address { get; set; } 
} 




var liste = new List<Dictionary<string, string>>(); 
      var dictionary = new Dictionary<string, string>(); 
      dictionary["Id"] = "111"; 
      dictionary["Name"] = "XYZ"; 
      dictionary["Address"] = "Addd"; 
      liste.Add(dictionary); 
      var result = liste.SelectMany(x => x); 

      //Code for Converting result into List<Client> 

अब मैं LINQ का उपयोग कर

+1

कोशिश ठीक है, मैं पोस्ट करने के लिए जा रहा _was_ लेकिन किसी भी तरह मुझे लगता है जॉन स्कीट एक बेहतर समाधान होगा। ; पी –

+0

यकीन है कि यह किया जा सकता है, लेकिन अगर आप हमें बता सकते हैं कि डेटा इस तरह क्यों समाप्त हुआ है तो इससे मदद मिलेगी। उदाहरण के लिए, आपने शब्दकोशों की सूची क्यों बनाई है? यह केवल इसे कठिन बनाता है। – Ani

+0

@Ani: गलती से मैंने उस कोड को चिपकाया। मेरी आवश्यकता को –

उत्तर

13

खैर परिणाम क्वेरी से सूची बनाना चाहते हैं सूची में, आप कुछ की तरह कर सकता है:

var result = liste.Select(map => new Client { ID = map["ID"], 
               Name = map["Name"], 
               Address = map["Address"] }) 
        .ToList(); 

क्या आप यही सोच रहे थे? आप शब्दकोष को फिर से बदलकर और प्रतिबिंब के साथ गुणों को सेट करके इसे और अधिक सामान्य उद्देश्य बना सकते हैं ... लेकिन यह निश्चित रूप से काफी लंबा कोड बन जाएगा।

+2

की सूची में बदलने के लिए थी, जब आप सबमिट करने के लिए इसे लेते समय मुझे उस पर मार देते थे! –

+1

उत्तर के लिए धन्यवाद। –

2

इस

var q = (from dic in liste 
select new Client 
{ 
Id = dic["Id"], 
Name = dic["Name"], 
Address = dic["Address"], 

}).ToList(); 
संबंधित मुद्दे