C#-Convert.Int32、Int.Parse差別

 

 

在寫程式時,難免需要做一些資料型態的轉換,那麼在C#裡面有Convert跟Parse這兩種型態的轉換有什麼差別呢?

在這裡做個簡單紀錄

Console.Write(Convert.ToInt16(null));
Console.Write(Convert.ToInt16(""));
Console.Write(Convert.ToInt16(4.5));

結果:1.會印出0

            2.會出現System.FormatException例外狀況

            3.如果有小數點後一位,則會四捨六入(小數點為五,如果整數為偶數,則回傳整數,基數則進位)

Console.Write(int.Parse(null));
Console.Write(int.Parse(4.5));
Console.Write(int.Parse("444"));

結果:1.無法轉換

            2.會印出444

            3.會出現System.ArgumentNullException例外狀況