我有数据的DataTable1。 例如,我有专栏
idColumn = new DataColumn("MInvPrice", typeof(double));
当我拿价值时
foreach (DataRow Row in MainTable.Rows)
{
double MInvPrice = Row["MInvPrice"];
}
我得到例外,必须写
double MInvPrice = Convert.ToDouble(Row["MInvPrice"]);
那么为什么我得到Object值,如果这个值的类型是double?没有转换,我可以获得双倍的价值吗?
答案 0 :(得分:0)
DataTable的Rows属性是DataRowCollection类型的对象。这实现了非泛型ICollection接口,这意味着编译器无法推断除了object之外的行类型。 所以你需要根据你的要求解析它。无论如何你可以使用:
var MInvPrice = Row["MInvPrice"];