Convert DataTable to Generic List in C#
You could actually shorten it down considerably. You can think of the Select() extension method as a type converter. The conversion could then be written as this: List<Cards> target = dt.AsEnumerable() .Select(row => new Cards { // assuming column 0’s type is Nullable<long> CardID = row.Field<long?>(0).GetValueOrDefault(), CardName = String.IsNullOrEmpty(row.Field<string>(1)) ? “not found” : row.Field<string>(1), }).ToList();