如何訪問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