【发布时间】:2017-11-18 23:42:36
【问题描述】:
Dt 包含 LOADERID 300
公司名称印度
var test = from t in Dt.AsEnumerable()
group t by t.Field<string>("LOADERID") into g
select new
{
cr = g.Key,
count = g.Count(),
};
在遍历 linq 结果时:
foreach(var temp in test) -> throwing error
{
//Code
}
无法将“system.double”类型的对象转换为“system.string”类型
请提出我做错了什么。 谢谢
【问题讨论】:
-
你在哪里使用
temp?尝试理解这里迭代的含义 -
也许 LOADERID 是双精度的?
-
@KernelMode 它没有进入 foreach 循环
-
那么你能解释一下这两段代码是如何相关的吗?
-
不要一次做很多事情,而是分步进行。这样您就可以确定哪个步骤引发了异常。 (我仍然认为这是因为 LOADERID 是双精度数。这是唯一明显的强制转换为字符串的地方,如果类型不匹配,
Field<T>被记录为引发InvalidCastException,而不是尝试转换。 )