Получить DataTable Столбцы DataType - PullRequest
37 голосов
/ 12 марта 2012
DataTable dt = new DataTable();  
dt.Columns.Add(new DataColumn(gridColumn1, typeof(bool)));

Я ожидал, что в результат этой строки будет включена информация о типе DataColumns (bool):

?dt.Columns[0].GetType()

Ответы [ 4 ]

68 голосов
/ 12 марта 2012

То, что вы хотите использовать, это свойство:

dt.Columns[0].DataType

Свойство DataType будет иметь одно из следующих значений:

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

Свойство DataColumn.DataTypeСсылка MSDN

7 голосов
/ 08 октября 2014
dt.Columns[0].DataType.Name.ToString()
0 голосов
/ 28 апреля 2019

Вы всегда можете использовать typeof в операторе if. Это лучше, чем работать со строковыми значениями, такими как ответ Натараджана.

if (dt.Columns[0].DataType == typeof(DateTime))
{
}
0 голосов
/ 28 марта 2017

Тип столбца DataTable можно получить с помощью атрибута DataType столбца с данными, как показано ниже:

var type = dt.Columns [0] .DataType

dt: объект DataTable.

0: индекс столбца DataTable.

Надеюсь, что это поможет

Ты:)

...