The problem with the sample above is that it is terribly slow. I have a DataTable with about 400 rows and this conversion takes a good 5 or 6 seconds!
It does seem like a pretty common task, so I'm surprised to not see someone here with a more performant solution.
* Update!! *
Just for kicks, I thought I would try converting using LINQ instead of iterating through the DataTable and adding to my List. The following is what I did:
List<MyObject> returnList = new List<MyObject>();
MyDataTable dtMyData = new MyTableAdapter().GetMyData();
returnLists = (from l in dtMyData
select new MyObject
{
Active = l.IsActive,
Email = l.Email,
//...
//About 40 more properties
//...
ZipCode = l.Zipcode
}).ToList();
The first method (iterating through each row) took 5.3 seconds and the method using LINQ took 1.8 seconds!
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…