gpt4 book ai didi

c# - 计算 int 时 LINQ 查询失败

转载 作者:行者123 更新时间:2023-11-30 15:27:43 24 4
gpt4 key购买 nike

我有以下查询,它采用 DataTable 并计算值在 countField 列中出现的次数。

var countField = "class"
var query = from row in myDataTable.AsEnumerable()
group row by row.Field<string>(countField)
into sumry
orderby sumry.Count() descending
select new
{
Text = sumry.Key,
CountofRows = sumry.Count()
};

这按预期工作,除非该列包含十进制值。我对 linq 不够熟悉,不知道要更改什么以允许它计算十进制值的实例。

我怎样才能使这个语句更健壮,以便它适用于指定列中包含的任何数据类型?

最佳答案

您可以使用DataRow 的 索引器获取值并将其转换为string:

var query = from row in myDataTable.AsEnumerable()
group row by row[countField].ToString()
into sumry
orderby sumry.Count() descending
select new
{
Text = sumry.Key,
CountofRows = sumry.Count()
};

这对所有类型都应该按预期工作。

关于c# - 计算 int 时 LINQ 查询失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26936478/

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