我在使用 LINQ 概念时遇到问题。下面我比较两个数据表,一个由数据库填充,另一个由 excel 文件填充。
问题是当我在两个“tempdt”之间应用连接时包含双值,这会导致转换对象的错误。我无法将返回类型从字符串更改为双精度,因为它将来可能是任何数据类型,因为目前它是双精度的,将来可能是字母数字。
var commonRows = from r1 in dt.AsEnumerable()
join r2 in tempdt.AsEnumerable()
on r1.Field<string>(0) equals r2.Field<string>(4)
select r2;
if (commonRows.Any())
{
abcdefgh = commonRows.Count();
dt123 = commonRows.CopyToDataTable();
// ring the ghanta of gutlu
}
例外:无法将“System.Double”类型的对象转换为“System.String”类型。