C#中的数据集转换
本文关键字:转换 数据集 | 更新日期: 2023-09-27 18:28:39
我有一个数据集,其中有一个如下所示的数据表:
...
<description>"abcd"</description>
<date>"1/1/2001"</date>
...
<description>"1234"</description>
<date>"1/1/2001"</date>
...
<description>"abcd"</description>
<date>"1/1/2001"</date>
...
我想构建一个新的数据集,它包含相同的值、行和列,但仅在描述为"abcd"的地方。
即,对于我给出的示例值,我希望得到:
...
<description>"abcd"</description>
<date>"1/1/2001"</date>
...
<description>"abcd"</description>
<date>"1/1/2001"</date>
...
我已经看过DataTable.Select()
方法,但我不确定它是否是一种好方法,或者是否完全适用于我想要做的事情
做这种事的最佳做法是什么?
DataRow[] rows = ds.Tables[0].Select("description = 'abcd'");
声明了行数组后,您可以检查Select
方法是否返回了一些内容,并使用名为CopyToDataTable 的IEnumerable扩展将数组转换为DataTable
DataTable foundData = null;
if(rows != null)
foundData = rows.CopyToDataTable();
请注意,此过程中不涉及数据集,但它只是原始表的容器,并且CopyToDataTable返回的新表不包括在数据集的Tables集合中。