int i = -1;
bool b = int.TryParse(null, out i);
執行完畢後,b等於false,i等於0,而不是等於-1,切記。
int i = -1;
bool b = int.TryParse("123", out i);
執行完畢後,b等於true,i等於123;
1、(int)是一種類型轉換;當我們觟nt類型到long,float,double,decimal類型,可以使用隱式轉換,但是當我們從long類型到int類型就需要使用顯式轉換,否則會產生編譯錯誤。
2、int.Parse()是一種類容轉換;表示將數字內容的字符串轉為int類型。
如果字符串為空,則拋出ArgumentNullException異常;
如果字符串內容不是數字,則拋出FormatException異常;
如果字符串內容所表示數字超出int類型可表示的范圍,則拋出OverflowException異常;
3、int.TryParse與 int.Parse 又較為類似,但它不會產生異常,轉換成功返回 true,轉換失敗返回 false。
最後一個參數為輸出值,如果轉換失敗,輸出值為 0,如果轉換成功,輸出值為轉換後的int值
4、Convert.ToInt32()是一種類容轉換;但它不限於將字符串轉為int類型,還可以是其它類型的參數;
比較:Convert.ToInt32 參數為 null 時,返回 0; int.Parse 參數為 null 時,拋出異常。Convert.ToInt32 參數為 "" 時,拋出異常; int.Parse 參數為 "" 時,拋出異常。 Convert.ToInt32 可以轉換的類型較多; int.Parse 只能轉換數字類型的字符串