在 C# 中将 LinQ var 转换为数据表,出现“指定的强制转换无效”异常
本文关键字:转换 异常 无效 出现 LinQ 中将 var 数据表 | 更新日期: 2023-09-27 18:30:23
我正在尝试将Linq加载到C#中的DataTable中。我使用了下面的代码,但在编译时我遇到了异常specified cast is not valid
。
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(int));
dt.Columns.Add("MobileNumber", typeof(int));
dt.Columns.Add("Address", typeof(int));
dt.Columns.Add("FatherName", typeof(int));
var results =
from table1 in tree.AsEnumerable()
join table2 in direct.AsEnumerable()
on (int)table1["ID"] equals (int)table2["ID"]
select new
{
ID = (int)table1["ID"],
Name = (int)table1["Name"],
MobileNumber = (int)table1["MobileNumber"],
Address = (int)table2["Address"],
FatherName = (int)table2["FatherName"],
};
foreach (var item in results)
{
DataRow dr = dt.NewRow();
dr["ID"] = item.ID;
dr["Name"] = item.Name;
dr["MobileNumber"] = item.MobileNumber;
dr["Address"] = item.Address;
dr["FatherName"] = item.FatherName;
dt.Rows.Add(dr);
}
所有列都是 int 类型。 我将假设姓名,手机号码和父亲姓名是一个字符串。