c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的差別詳解。本站提示廣大學習愛好者:(c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的差別詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的差別詳解正文
本文對c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的差別停止了較為深刻的具體剖析,對初學者而言可以起到穩固進修的目標。概況以下:
1、(int)變量名[強迫類型轉換]:
該轉換方法重要用於數字類型轉換,從int類型到long,float,double,decimal類型,可使用隱式轉換,然則從long類型到int類型就須要應用顯式轉換,也就是該數據類型轉換方法,不然會發生編譯毛病。
該方法關於浮點數會做無前提捨去,掉去准確度。
固然,該方法也能夠停止object到int得轉換,然則,object的值要付與int類型的值,不然會發生編譯毛病,並且object為null時也會失足。
最初切忌的一點,萬萬不要用來處置char類型到int類型的轉換,不然傳回的的值是ASCII代碼,而其實不是你想要的值。
2、int.Parse(string類型變量名)
該方法是將數字內容的字符串轉為int類型,假如字符串內容為空或許null時,則拋出ArgumentNullException異常;假如字符串內容不是數字,則拋出FormatException異常;假如字符串內容所表現數字超越int類型可表現的規模,則拋出OverflowException異常。
應用該辦法切忌的一點就是只能處置字符串內容,並且字符串內容只能在int類型可表現的規模以內。
3、int.TryParse(string s, out int result)
該方法也是將數字內容的字符串轉為int類型,然則該方法比int.Parse優勝的處所,就是它不會湧現異常。假如轉換勝利前往true,假如轉換掉敗前往false。很顯著,最初一個參數為輸入值,假如轉換掉敗,輸入值為0;假如轉換勝利,則輸入響應的值。
4、Convert.ToInt32
該方法不只可以將字符串轉為int類型,還可以將其它類型的值轉成int類型。變量若為object或string類型,當其值為null時,會傳回0,不會形成法式毛病,然則若此string類型的值為string.Empty,在轉型成int時,仍會形成法式毛病。該方法關於浮點數會做四捨五入。
該方法同強迫轉換一樣,不克不及用來處置char類型,不然傳回的是ASCII代碼。