इसके बजाय एक ArrayList
का उपयोग कर के मैं एक जोरदार टाइप किया संग्रह का उपयोग करके आप की सलाह देते हैं, क्योंकि एक ArrayList
लिए एक गैर जोरदार तुलना में ज्यादा मूल्य लाने नहीं होगा DataTable
टाइप किया जाएगा। अपने DataTable
से अधिक
public class MyModel
{
public int Id { get; set; }
public string Prop1 { get; set; }
public string Prop2 { get; set; }
}
तो पाश और संग्रह को भरने:: तो आप एक मॉडल है कि प्रत्येक पंक्ति का प्रतिनिधित्व करेंगी को परिभाषित करते हुए शुरू कर सकता है
List<MyModel> models = new List<MyModel>();
foreach (DataRow row in dt.Rows)
{
MyModel model = new MyModel
{
Id = (int)row[0],
Prop1 = (string)row[1],
Prop2 = (string)row[2]
};
models.Add(model);
}
या आप LINQ इस्तेमाल कर सकते हैं यदि आप पसंद:
List<MyModel> models = dt.Rows
.Cast<DataRow>()
.Select(row => new MyModel {
Id = (int)row[0],
Prop1 = (string)row[1],
Prop2 = (string)row[2]
})
.ToList();
स्रोत
2010-08-26 09:13:03
सभी स्तंभों: यह एक कोड टुकड़ा है कि मैं एक datatable के लिए एक CSV लिखने के लिए इस्तेमाल करते हैं तार शामिल हैं? – thelost
हाँ (एक बूलियन है), लेकिन यह के रूप में "सही" "गलत" –
इस्तेमाल किया जाएगा [ऐसा मत करो!] (Http://stackoverflow.com/questions/434414/what-is-the-most-evil -code में आप-कभी देखा है में एक उत्पादन-उद्यम-वातावरण/434,562 # 434,562) –