簡體   English   中英

LINQ:如何從DataTable.ItemArray查詢中排除數據列?

[英]LINQ: How to exclude data columns from DataTable.ItemArray query?

給定一個數據行的集合,類型為DataRow的IEnumerable,我如何查詢該集合,以便計算該集合中所有值的總和(即所有行中所有列的所有值),除了兩個特定的列? 我只知道運行時之前有兩列,而這是我要排除的兩列。 我想把所有其他都包括在內。

有一種擴展方法可以為我提供特定的字段,例如Field<T>("Foo")但我真正需要的是能夠對字段X,Y和Z 以外的所有字段進行求和。

您可以使用更多的LINQ:

DataColumn[] unwantedColumns = { table.Column1, ... };

var sum = table.Columns.Cast<DataColumn>()
                       .Except(unwantedColumns)
                       .Select(c => row.Field<int>(c))
                       .Sum();

我認為您不能修改DataRow的列。 但是,您可以修改DataTable的列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM