使用Linq从DataTable.Row.ItemArray获取单元格

Dav*_*uli 1 c# linq datatable ado.net

我有以下ItemArray:

dt.Rows[0].ItemArray.. //{0,1,2,3,4,5}
Run Code Online (Sandbox Code Playgroud)

标题为:item0,item1,item2等。

到目前为止,要从ItemArray中获取值,我曾经用索引来调用它。

有什么方法可以使用基于列名称的Linq表达式在ItemArray中获取值?

谢谢

Tim*_*ter 5

您还可以使用列名来获取字段值:

int item1 = row.Field<int>("Item1");
Run Code Online (Sandbox Code Playgroud)

您还可以使用LINQ-to-DataSet

int[] allItems = (from row in dt.AsEnumerable()
                  select row.Field<int>("Item1")).ToArray();
Run Code Online (Sandbox Code Playgroud)

或方法语法中:

int[] allItems = dt.AsEnumerable().Select(r => r.Field<int>("Item1")).ToArray();
Run Code Online (Sandbox Code Playgroud)