Convert.ToInt32( null or "")

weixin_33860553發表於2016-08-10

由於總忘記,先寫一下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Console.WriteLine("輸出轉換空結果 ={0}", Convert.ToInt32("")); //Convert.ToInt32是不允許轉換“”空值的,會報錯
Console.WriteLine("輸出轉換null結果={0}", Convert.ToInt32(null));//Convert.ToInt32允許傳入null引數轉換,結果為0
Console.WriteLine("輸出轉換字母非數字結果={0}", Convert.ToInt32("12"));//正常操作
Console.WriteLine("輸出轉換字母非數字結果={0}", Convert.ToInt32("12ab"));//轉換非數字,則直接報錯
 
var aa="10";
int bb;
int.TryParse(aa, out bb);
Console.WriteLine(bb);
//結果顯示10,執行正常
 
aa="abc";//特殊字元等非正常數字,或者12aa型別,結果都是0
//顯示0,執行正常
 
var aa = (int.MaxValue+1).ToString();
//超出範圍的時候,程式會順利執行,但是是有錯誤產生的。而且,顯示的值是上一次的運算結果,即之前的一次計算結果是0則是0,是1則是1。
//所以如果存在溢位這種情況,還是得仔細辨別一下。
//錯誤    1    在 checked 模式下,運算在編譯時溢位    Projects\1111\getimage\Program.cs

 

一般涉及到int型別轉換,個人感覺還是使用int.TrayParse方式,程式碼比較簡介,一般不會出現報錯的情況。(也可能是報錯的,一般這種轉換值,自己使用的時候,達不到溢位的值)

 

相關文章