使用模式从数据表中检索项目

时间:2017-03-08 02:09:05

标签: c# datatable schema

我有一个带有关联架构的数据表。一般来说,我知道如何从一行中检索项目。

我的问题是,架构的存在是否会以任何方式影响检索?

例如,如果没有架构,我可能会使用以下内容:

double otherNumber = dt.Rows[i].Field<double>("DoubleColumn");

因为我知道otherNumber是双倍的。

但是由于模式告诉数据表DoubleColumn包含双精度数,所以可以简化为

double otherNumber = dt.Rows[i]["DoubleColumn"];

由于模式隐含了转换?

1 个答案:

答案 0 :(得分:1)

不。就编译器而言,dt.Rows[i]["DoubleColumn"]将始终键入object,无论它在运行时是什么。您需要以您已经完成的方式强制转换它,或者这种语法也很好:

double otherNumber = (double)dt.Rows[i]["DoubleColumn"]