1. 程式人生 > >C#/.NET整數的三種強制型別轉換(int)、Convert.ToInt32()、int.Parse()的區別總結

C#/.NET整數的三種強制型別轉換(int)、Convert.ToInt32()、int.Parse()的區別總結

1.(int) 適合簡單資料型別之間的轉換,C#的預設整型是int32(不支援bool型)。

2. int.Parse(string sParameter) 是個建構函式,引數型別只支援string型別,Parse就是把String型別轉換成int,char,double....等,也就是*.Parse(string) 括號中的一定要是string型別。 

3.Convert.ToInt32() 適合將Object型別轉換為int型;Convert可以提供多種型別的轉換,也就是Convert.*()括號中可以為很多種型別(包括string)。

4.Convert.ToInt32()和int.Parse()對於空值(null)的處理不同,Convert.ToInt32(null)會返回0而不會產生任何異常,但int.Parse(null)則會產生異常。

5. 對於數字的精確度不同:

(1).Convert.ToInt32(double value) 如果 value 為兩個整數中間的數字,則返回二者中的偶數,即 4.5 轉換為 4,而 5.5 轉換為 6

(2).int(4.6) = 4,int轉化其他數值型別為int時沒有四捨五入,強制轉換(擷取整數部分)。