由於總忘記,先寫一下。Console.WriteLine("輸出轉換空結果 ={0}", Convert.ToInt32("")); //Convert.ToInt32是不允許轉換“”空值的,會報錯Console.WriteLine("輸出轉換null結果={0}", Convert.ToInt32...
由於總忘記,先寫一下。
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方式,代碼比較簡介,一般不會出現報錯的情況。(也可能是報錯的,一般這種轉換值,自己使用的時候,達不到溢出的值)