我需要检查datareader列的数据类型:
Type type = dataTable.Columns[i].DataType;
if (type.Equals(System.Decimal))
{
//...
}
但是,行if (type.Equals(System.Decimal))
不正确。什么是正确的语法?
答案 0 :(得分:6)
你几乎是对的。只需将其更改为:
if (type.Equals(typeof(System.Decimal)))
虽然更好的表达方式是:
if (type == typeof(System.Decimal))
如果您在文件顶部添加using System;
,则可以将其设为:
if (type == typeof(Decimal))
答案 1 :(得分:2)
您必须添加typeof
:
if (type == typeof(Decimal)) {...}
请注意,Equals
不是必需的,==
更可读。
答案 2 :(得分:1)
无需type
变量;
if(dataTable.Columns[i].GetType().Equals(typeof(decimal)))
{
//
}
答案 3 :(得分:0)
你可以简单地做
if (dataTable.Columns[i] is System.Decimal)
{
//...
}
它是一个简化型比较器
答案 4 :(得分:0)
您可以使用typeof运算符来检查DataColumn类型的类型。
if(dataTable.Columns[i].DataType== typeof(System.Decimal))
{
//Your code
}