50
DataTable dt = new DataTable();  
dt.Columns.Add(new DataColumn(gridColumn1, typeof(bool)));

我期待以下行的结果包含有关 DataColumns 类型(布尔)的信息:

?dt.Columns[0].GetType()
4

5 回答 5

92

您要使用的是此属性:

dt.Columns[0].DataType

DataType属性将设置为以下之一:

Boolean
Byte
Char
DateTime
Decimal
Double
Int16
Int32
Int64
SByte
Single
String
TimeSpan
UInt16
UInt32
UInt64

DataColumn.DataType 属性 MSDN 参考

于 2012-03-12T02:24:39.230 回答
14

你总是可以typeof在 if 语句中使用。它比使用像 Natarajan 的答案这样的字符串值更好。

if (dt.Columns[0].DataType == typeof(DateTime))
{
}
于 2019-04-28T15:22:24.317 回答
10
dt.Columns[0].DataType.Name.ToString()
于 2014-10-08T06:22:53.673 回答
0

您可以使用datatable 列的DataType属性获取 DataTable 的列类型,如下所示:

var type = dt.Columns[0].DataType

dt:数据表对象。

0:DataTable 列索引。

于 2017-03-28T11:34:13.223 回答
-2
if (dr[dc.ColumnName].GetType().ToString() == "System.DateTime")
于 2020-03-16T06:27:25.273 回答