2010-07-21 2 views
4

В DataSet.Tables[0].Columns[0] у нас есть DataType. Теперь я хотел бы перебрать Columns и выполнить какое-то действие в зависимости от Type в DataType. Как это сделать?Как поступить с System.Type?

foreach(var c in DataSet.Tables[0].Columns) 
{ 
    if (c.DataType == System.String) {} //error 'string' is a 'type', which is not valid in the given context 

} 

ответ

12

Используйте typeof оператор:

if (c.DataType == typeof(string)) 
{ 
    // ... 
} 
+0

Или '(c.DataType это строка)'. – Marc

+5

@Marc: Это не то же самое. 'c.DataType' является' Type', а не 'string'. Ваш код всегда будет оцениваться как false. – LukeH

+0

Мне было интересно, чего мне не хватает, спасибо! Я поставил этот комментарий, надеясь, что он будет упрекнут или подтвержден. – Marc

4

Попробуйте это ...

if (c.DataType == typeof(string)) {}
4
if (c.DataType == typeof(string)) 
{ 
    // code 
} 
Смежные вопросы