2013-02-28 15 views
15

पर एक स्तंभित डेटाटेबल मेरे पास datatable है जिसमें केवल एक कॉलम है और सभी आइटम स्ट्रिंग हैं। उदाहरण के लिए LINQ का उपयोग करके मैं इसे List<string> में कैसे परिवर्तित कर सकता हूं?सूची <string>

मैं कोशिश की:

foreach (DataRow dr in dtusers.Rows) 
{ 
    users.Add(dr[0].ToString()); 
} 

उत्तर

43

आप LINQ query उपयोग कर सकते हैं कि ऐसा करने के लिए:

DataRow[] rows = dtusers.Select(); 
var qq = from RowCollection in rows 
     select new { UserCode = LibStatic.ToStr(RowCollection["UserCode"]) }; 

List<string> users = new List<string>(); 
users = qq.Cast<string>().ToList(); 

वहाँ Easyway जो हमेशा काम करता है।

List<string> list = dtusers.AsEnumerable() 
          .Select(r=> r.Field<string>("UserCode")) 
          .ToList(); 
+1

वास्तव में उपयोगी। धन्यवाद .. :) – Divya

+1

धन्यवाद, किसी के लिए कॉलम नाम के उपयोग से बचना चाहते हैं। चयन करें (r => r.Field (0)) – user960567

+1

मुझे एक त्रुटि मिली EnumerableRowCollection में सूची के लिए परिभाषा नहीं है .. इस मामले में आयात प्रणाली। आपकी कक्षा में LinQ पैकेज –

संबंधित मुद्दे