這三種方式都是強制把內容轉換為整數,但他們之間是有區別的,如下:
一、(int)適合簡單數據類型之間的轉換,C#的默認整型是int32(不支持bool型)。
二、int.Parse(string sParameter)是個構造函數,參數類型只支持string類型,Parse就是把String類型轉換成int,char,double....等,也就是*.Parse(string) 括號中的一定要是string類型。
三、Convert.ToInt32()適合將Object類型轉換為int型;Convert可以提供多種類型的轉換,也就是Convert.*()括號中可以為很多種類型(包括string)。
四、Convert.ToInt32()和int.Parse()對於空值(null)的處理不同,Convert.ToInt32(null)會返回0而不會產生任何異常,但int.Parse(null)則會產生異常。
五、對於數字的精確度不同:
(1)、Convert.ToInt32(double value) 如果 value 為兩個整數中間的數字,則返回二者中的偶數,即 4.5 轉換為 4,而 5.5 轉換為 6。
(2)、int(4.6) = 4,int轉化其他數值類型為int時沒有四舍五入,強制轉換(截取整數部分)。