如何访问DataTable中的整数数据?如何从DataTable访问整数数据?
我这样做是为了得到一个字符串:
tbEvent.Text = dt.Rows[0].Field<String>(0);
但是,这并不工作:
int numb = dt.Rows[0].Field<Int>(0);
问候, 茶
如何访问DataTable中的整数数据?如何从DataTable访问整数数据?
我这样做是为了得到一个字符串:
tbEvent.Text = dt.Rows[0].Field<String>(0);
但是,这并不工作:
int numb = dt.Rows[0].Field<Int>(0);
问候, 茶
int i = Convert.ToInt32(dt.Rows[0]["field_name"]);
感谢@huMpty格式化:) – LittleSweetSeas
请注意,在其他答案中,您将通过将对象转换为字符串,然后将字符串解析为int来增加一点开销。 – LittleSweetSeas
有趣的是,该字段是一个整数,所以为什么要转换? – TeaDrinkingGeek
试试这个: -
tbEvent.Text = dt.Rows[0].Field<Int>(0).ToString();
我是assumin g您尝试将值传递给文本框。
使用强类型访问!
如果你的类型是int
,
这
string g = dt.Rows[0].Field<String>(0);
会失败!
无法投类型“System.Int32”的对象为类型“System.String”
但是,如果你知道它的int和你要显示的字符串represenation:(或只是toString()方法)
string t= dt.Rows[0].Field<int>(0).ToString();
或者只是:dt.Rows[0][0].ToString();
的Field
扩展方法不适合转换的类型。它只是模拟一个强类型的DataTable
。所以,如果你知道的DataColumn的类型是int
它的工作原理是这样的:
int result = dt.Rows[0].Field<int>(0);
但是如果它实际上际,你需要转换string
/据此解析它。
例如:
int result = int.Parse(dt.Rows[0].Field<String>(0));
或更松散类型指标(如,因为它是一个double
或者你不知道它是什么)
int result = int.Parse(dt.Rows[0][0].ToString());
我尝试了你的第一个陈述Tim。我在Int下得到一个红色下划线。找不到您错过了一个指令或装配? – TeaDrinkingGeek
@TeaDrinkingGeek:编辑。当然这个类型被称为'int'而不是'Int'。但第一个陈述是你已经尝试过的。我只是试图解释为什么它不起作用,什么时候起作用。 –
蒂姆,任何指针在哪里了解更多关于这个话题? – TeaDrinkingGeek
见编辑,感谢所有。 – TeaDrinkingGeek