将数据集数据表转换为IList <datatable> type </datatable>

时间:2014-05-08 10:42:24

标签: c# linq

我有一个包含多个数据表的数据集。现在我想将这些数据表复制到IList对象中。

var tables = new[] { DT1, DT2 };   //I want to change this line of code to pull the datatables from the dataset.
bool test = Funx(tables);

private bool Funx(IList<DataTable> tbls)
{
   ///some operation..
}

但在我的情况下,数据集可以包含任意数量的数据表。如何使用数据集中的所有数据表准备表var对象。

请建议。

1 个答案:

答案 0 :(得分:3)

您可以使用Cast + ToList

IList<DataTable> tables = dataSet.Tables.Cast<DataTable>().ToList();

您需要使用Enumerable.Cast,因为DataTableCollection(由Tables返回)实现IEnumerable而不是IEnumerable<DataTable>(该类已旧):