如何在不使用for或foreach循环的情况下遍历数据表值,然后将列表值添加到list中

本文关键字:然后 数据表 列表 list 添加 遍历 情况下 for 循环 foreach | 更新日期: 2023-09-27 18:15:23

表[1]有一个值列表。

if (ds.Tables[1].Rows.Count > 0)
{
    // How to loop through datatable values without using for or foreach loop and then list values add to List?//

   testRetrieveResponse.testList.Add();- how to add values to list 
}

如何在不使用for或foreach循环的情况下遍历数据表值,然后将列表值添加到list中

可以使用DataTable。AsEnumerable

List<DataRow> list = ds.Tables[1].AsEnumerable().ToList();

或者,如果你想创建某种类型的列表,那么你可以使用Select来创建你的类型的对象。

List<DataRow> list = ds.Tables[1].AsEnumerable()
                     .Select(a => new YourType { Prop1 = a.Field<string>("Prop1")}).ToList();

一种方法是将每个元素的Enumerable.Cast映射到DataRow,然后用Enumerable.Select投影新的元素类型:

var customTypes = ds.Tables[1]
                    .Rows
                    .Cast<DataRow>()
                    .Select(row => new SomeType { Id = row["Id"] })
                    .ToList();