Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 四者都可以解釋為將類型轉(zhuǎn)換為 int,那它們的區(qū)別是什么呢?
Convert.ToInt32 與 int.Parse 較為類似,實(shí)際上 Convert.ToInt32 內(nèi)部調(diào)用了 int.Parse:
Convert.ToInt32 參數(shù)為 null 時,返回 0;
int.Parse 參數(shù)為 null 時,拋出異常。
Convert.ToInt32 參數(shù)為 "" 時,拋出異常;
int.Parse 參數(shù)為 "" 時,拋出異常。
Convert.ToInt32 可以轉(zhuǎn)換的類型較多;
int.Parse 只能轉(zhuǎn)換數(shù)字類型的字符串。
int.TryParse 與 int.Parse 又較為類似,但它不會產(chǎn)生異常,轉(zhuǎn)換成功返回 true,轉(zhuǎn)換失敗返回 false。最后一個參數(shù)為輸出值,如果轉(zhuǎn)換失敗,輸出值為 0。
(int) 屬 cast 轉(zhuǎn)換,只能將其它數(shù)字類型轉(zhuǎn)換成 int 類型,它不能轉(zhuǎn)換字符串,比如下例就會失敗:
如果 QueryString 傳入的 id 值為整數(shù),那么 id 變量值就是該數(shù)值,如果傳入的不是整數(shù),那么 id 變量值就是 0(不是初始值 1)。
新聞熱點(diǎn)
疑難解答
圖片精選