Generics 如何在不显式指定数据类型和列名的情况下,从.NET中的datatable中常规读取列值

Generics 如何在不显式指定数据类型和列名的情况下,从.NET中的datatable中常规读取列值,generics,types,datatable,Generics,Types,Datatable,我希望在不显式指定数据类型和列名的情况下从数据表中读取列值 例如 int-carId=CarTable.Rows[i]。字段(“carId”)//这需要数据类型和列名。 string name=CarTable.Rows[i]。字段(“名称”); 我希望在不显式指定数据类型和列名的情况下读取carId 如果我希望所有列的返回类型都是字符串类型,会更容易吗?假设您考虑使用列的位置而不是名称,您应该能够执行以下操作: Object colvalue = CarTable.Rows[i].Items

我希望在不显式指定数据类型和列名的情况下从数据表中读取列值

例如

int-carId=CarTable.Rows[i]。字段(“carId”)//这需要数据类型和列名。
string name=CarTable.Rows[i]。字段(“名称”);
我希望在不显式指定数据类型和列名的情况下读取carId


如果我希望所有列的返回类型都是字符串类型,会更容易吗?

假设您考虑使用列的位置而不是名称,您应该能够执行以下操作:

Object colvalue = CarTable.Rows[i].Items[colpos];

谢谢,这对字符串和其他数据类型有效吗?如何从对象类型获取值?是否有方法检测数据类型并将其分配给其类型的变量?是的,您需要通过CarTable.Columns集合进行枚举,该集合将为您提供每列的数据类型信息。因此,CarTable.Columns[colpos]将为您提供计算CarTable.Rows[i].Items[colpos]的数据类型所需的信息
Object colvalue = CarTable.Rows[i].Items[colpos];