c中兩種int轉換方法的區別與好處壞處

時間 2021-08-30 09:42:50

1樓:匿名使用者

這兩個方法的最大不同是它們對null值的處理方法:

convert.toint32(null)會返回0而不會產生任何異常,但int.parse(null)則會產生異常。

沒搞清楚convert.toint32和int.parse()的細細微區別時千萬別亂用,否則可能會產生無法預料的結果,舉例來說:

假如從url中取一個引數page的值,我們知道這個值是一個int,所以即可以用convert.toint32(request.querystring["page"]),也可以用,int.

parse(request.querystring["page"]),但是如果page這個引數在url中不存在,那麼前者將返回0,0可能是一個有效的值,所以你不知道url中原來根本就沒有這個引數而繼續進行下一下的處理,這就可能產生意想不到的效果,而用後一種辦法的話沒有page這個引數會丟擲異常,我們可以捕獲異常然後再做相應的處理,比如提示使用者缺少引數,而不是把引數值當做0來處理。

(2)還有一點區別就是

a. convert.toint32(double value)

如果 value 為兩個整數中間的數字,則返回二者中的偶數;即 3.5轉換為4,4.5 轉換為 4,而 5.5 轉換為 6。 不過4.6可以轉換為5,4.4轉換為4

b. int.parse("4.5")

直接報錯:"輸入字串的格式不正確".

c. int(4.6) = 4

int轉化其他數值型別為int時沒有四捨五入,強制轉換

int.parse是轉換string為int

convert.toint32是轉換繼承自object的物件為int的.

你得到一個object物件,你想把它轉換為int,用int.parse就不可以,要用convert.toint32.

個人總結:

(1)convert.toint32的引數比較多,int.parse只能轉換string型別的.

(2)parse就是把string轉換成int,char,double....等,也就是*.parse(string) 括號中的一定要是string.

(3)convert可以提供多種型別的轉換,也就是convert.*()括號中可以為很多種型別(包括string).

2樓:匿名使用者

int.parse只是轉換string為int

convert.toint32是轉換繼承自object的物件為int的.

比如你得到一個object物件,你想把它轉換為int,用int.parse就不可以,要用convert.toint32

3樓:豬頭山伯爵

int.parse效率高

c#中int?與int的區別

4樓:書愜彭芬

int?為可空型別,把值型別裝箱為引用型別。如果是int,return

null就是return

0,如果是int?,return

null就是null.要訪問值,可以直接賦值給一個int,cli會自動拆箱,或者呼叫它的value屬性。

5樓:匿名使用者

多個?叫做可空型別,也就是這個型別允許被賦值為null或者他正確的型別值。但是這種型別要注意null值情況下的運算,比如:

int? a = null;那麼 a = a + 3;這個結果還是null,null與任何值的運算結果還是null。

6樓:匿名使用者

比較以下**片段:int? a = null;

int a = null; //編譯錯誤。可見,int?允許把null賦值給數值型,這個是為了相容sql或者其它資料庫中null這個空值所設定的。

在c#中int,int.parse()和convert.toint32()的區別

7樓:匿名使用者

都是強制bai轉換區別在於:(1)這兩

du個方法的最大zhi不同是它們對null值的處理方法dao:

convert.toint32(null)會返回

回0而不會產生任何異常,但答int.parse(null)則會產生異常

(2)還有一點區別就是

a. convert.toint32(double value)

如果 value 為兩個整數中間的數字,則返回二者中的偶數;即 3.5轉換為4,4.5 轉換為 4,而 5.

5 轉換為 6。 不過4.6可以轉換為5,4.

4轉換為4

b. int.parse("4.5")

直接報錯:"輸入字串的格式不正確". c. int(4.6) = 4

int轉化其他數值型別為int時沒有四捨五入,強制轉換 int.parse是轉換string為int

convert.toint32是轉換繼承自object的物件為int的.

你得到一個object物件,你想把它轉換為int,用int.parse就不可以,要用convert.toint32.。

jsp兩種註釋區別,和的區別,jsp中,這兩種js的寫法,有什麼區別?

育知同創教育 1 jsp頁面中的html註釋 sp頁面中的html註釋使用 建立,它的具體形式如下所示 當它出現在jsp頁面時,微蘑菇將不被原樣地加入jsp響應中,而且將出現在生成的html 中,此 將傳送給瀏覽器 然後有瀏覽器負責忽略此註釋。由於 html註釋不是簡單地被jsp忽略,因此它們可以包...

jsp兩種宣告變數和的區別,jsp兩種註釋區別, 和 , 的區別

育知同創教育 1 jsp頁面中的html註釋 sp頁面中的html註釋使用 建立,它的具體形式如下所示 當它出現在jsp頁面時,微蘑菇將不被原樣地加入jsp響應中,而且將出現在生成的html 中,此 將傳送給瀏覽器 然後有瀏覽器負責忽略此註釋。由於 html註釋不是簡單地被jsp忽略,因此它們可以包...

大王的兩種讀音有什麼區別,英語“the”兩種讀音有什麼區別?

光蘭有昭 字典上的解釋是大 da 王指1指壟斷某種經濟事業的財閥 列 石油 鋼鐵 2指長於某種事情的人,列 足球 大 dai 王 戲曲舊 中對國王或強盜首領的稱呼 英語 the 兩種讀音有什麼區別? 1 the後面的單詞的音標是以母音音素開頭的,the讀作 i 例如 i can t see the ...