使用SelectMany扩展方法从DataRow列表中选择多个列,结果作为数据列表的子集

时间:2010-09-24 12:37:16

标签: c# extension-methods linq-to-objects

我有一个包含10列的数据表。我只想选择它们的两列。

我无法使用SelectMany扩展方法执行此操作。

我知道如何从Linq To DataSet获取它,但尝试使用此扩展方法。

3 个答案:

答案 0 :(得分:5)

SelectMany方法用于展平序列序列,而不是仅选择可用列的子集。请改用Select方法:

var query = yourDataTable.AsEnumerable()
                         .Select(r => new { Column3 = r[3], Column6 = r[6] });

答案 1 :(得分:2)

SelectMany是尝试使用的错误方法。您只需使用Select并创建一个新的匿名对象:

dataTable.AsEnumerable().Select(r => new { r.Column1, r.Column7 });

SelectMany用于展平嵌套集合。

答案 2 :(得分:0)

var s = table.Rows.Cast()。选择(....);

相关问题