我有一個TextBoxD1.Text
,我想將其轉換爲一個int
以將其存儲在數據庫中。 數據庫
我怎樣才能作到這一點? 安全
Convert.ToInt32( TextBoxD1.Text );
若是您確信文本框的內容是有效的int,請使用此選項。 一個更安全的選擇是 測試
int val = 0; Int32.TryParse( TextBoxD1.Text, out val );
這將爲您提供一些您能夠使用的默認值。 Int32.TryParse
還返回一個布爾值,指示它是否可以解析,所以您甚至能夠將其用做if
語句的條件。 spa
if( Int32.TryParse( TextBoxD1.Text, out val ){ DoSomething(..); } else { HandleBadInput(..); }
嘗試這個: code
int x = Int32.Parse(TextBoxD1.Text);
或更好: orm
int x = 0; Int32.TryParse(TextBoxD1.Text, out x);
一樣,因爲Int32.TryParse
返回bool
您能夠使用其返回值來決定解析嘗試的結果: 字符串
int x = 0; if (Int32.TryParse(TextBoxD1.Text, out x)) { // you know that the parsing attempt // was successful }
若是您很好奇,最好將Parse
和TryParse
之間的區別總結以下: get
TryParse方法相似於Parse方法,可是若是轉換失敗,TryParse方法不會引起異常。 若是s無效且沒法成功解析,則無需使用異常處理來測試FormatException。 -MSDN string
int.TryParse()
若是文本不是數字,則不會拋出。 io
您須要解析該字符串,還須要確保該字符串確實是整數格式。
最簡單的方法是這樣的:
int parsedInt = 0; if (int.TryParse(TextBoxD1.Text, out parsedInt)) { // Code for if the string was valid } else { // Code for if the string was invalid }
int myInt = int.Parse(TextBoxD1.Text)
另外一種方法是:
bool isConvertible = false; int myInt = 0; isConvertible = int.TryParse(TextBoxD1.Text, out myInt);
二者之間的區別在於,若是沒法轉換文本框中的值,則第一個將引起異常,而第二個將僅返回false。