gpt4 book ai didi

c# - 有条件地平均 DataTable 中的一列数据

转载 作者:行者123 更新时间:2023-11-30 13:20:30 25 4
gpt4 key购买 nike

我有一个 DataTable 对象 dTable,其中所有 DataColumn 数据类型都是字符串或 double 。列中的某些数字不存在。即 =null。现在我有下面的代码找到平均值,当有值时它工作得很好。

var sum = dTable.AsEnumerable().Average(x => 
{
if (dTable.Columns[col]!=null)
{
return x.Field<double>(dTable.Columns[col].ColumnName);
}
else
{
return ???;
};

});

我的问题是,如果不满足跳过那个x的条件,我应该返回什么?当我在 dTable 中遇到一个空单元格时,它似乎不知道该怎么办。

或者,如果有一条完全不同的路,我应该走下去......请务必......

最佳答案

我认为您想要做的是首先应用 Where 子句,以消除所需 col 中缺少数据的任何行:

var avg = dTable.AsEnumerable()
.Where(x => x[col] != DBNull.Value)
.Average(x => x.Field<double>(col));

关于c# - 有条件地平均 DataTable 中的一列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6864261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com