c# - 如何解决 C# linq 中的转换数据类型错误
问题描述
我尝试对我的 excel 数据进行统计,但我的代码中的这一行有错误
ProGroup.Sum(r => r.Field<string>("Time"))
时间是我的 excel 数据中的字符串格式,但 eclipse 不接受它并向我显示一条错误消息
Can't implicitly convert type "string" to "long"
请问我该如何纠正?我试过了
Convert.ToDecimal(ProGroup.Sum(r => r.Field<string>("Timmar")))
但它也向我显示了一个错误。
var data = from r in dt.AsEnumerable()
group r by r.Field<string>("Project") into ProGroup
let SumTime = ProGroup.Sum(r => r.Field<string>("Time"))
select new
{
Projekt = ProGroup.Key,
Sum = SumTime
};
解决方案
您需要转换每个项目
...
let SumTime = ProGroup.Sum(r => Convert.ToDecimal(r.Field<string>("Time")))
...
PS 您需要确保所有时间值的格式正确。
推荐阅读
- python - 如何通过列表的长度确定数组的维度
- php - 根据产品库存数量更改 WooCommerce 处理订单状态
- javascript - 我应该如何从这个对象中获取数据?
- reactjs - 将 material-ui 下拉列表绑定到表格
- android - 世博会音频不接受数组作为源参数
- algorithm - 我的算法应该搜索二进制但我不知道为什么它不起作用
- c# - 如何在 C++ dll 中调用一个函数,该函数返回指向 C# 中列表的指针
- python - 将 Count 加入 pandas 中的原始 DataFrame
- javascript - 为什么我的 setState 会导致无限循环?
- jquery - CakePHP:计算整个表格的总数