c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的區(qū)別詳解
本文對(duì)c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的區(qū)別進(jìn)行了較為深入的詳細(xì)分析,對(duì)初學(xué)者而言可以起到鞏固學(xué)習(xí)的目的。詳情如下:
一、(int)變量名[強(qiáng)制類型轉(zhuǎn)換]:
該轉(zhuǎn)換方式主要用于數(shù)字類型轉(zhuǎn)換,從int類型到long,float,double,decimal類型,可以使用隱式轉(zhuǎn)換,但是從long類型到int類型就需要使用顯式轉(zhuǎn)換,也就是該數(shù)據(jù)類型轉(zhuǎn)換方式,否則會(huì)產(chǎn)生編譯錯(cuò)誤。
該方式對(duì)于浮點(diǎn)數(shù)會(huì)做無條件舍去,失去精確度。
當(dāng)然,該方式也可以進(jìn)行object到int得轉(zhuǎn)換,但是,object的值要賦予int類型的值,否則會(huì)產(chǎn)生編譯錯(cuò)誤,而且object為null時(shí)也會(huì)出錯(cuò)。
最后切忌的一點(diǎn),千萬不要用來處理char類型到int類型的轉(zhuǎn)換,否則傳回的的值是ASCII代碼,而并不是你想要的值。
二、int.Parse(string類型變量名)
該方式是將數(shù)字內(nèi)容的字符串轉(zhuǎn)為int類型,如果字符串內(nèi)容為空或者null時(shí),則拋出ArgumentNullException異常;如果字符串內(nèi)容不是數(shù)字,則拋出FormatException異常;如果字符串內(nèi)容所表示數(shù)字超出int類型可表示的范圍,則拋出OverflowException異常。
使用該方法切忌的一點(diǎn)就是只能處理字符串內(nèi)容,而且字符串內(nèi)容只能在int類型可表示的范圍之內(nèi)。
三、int.TryParse(string s, out int result)
該方式也是將數(shù)字內(nèi)容的字符串轉(zhuǎn)為int類型,但是該方式比int.Parse優(yōu)越的地方,就是它不會(huì)出現(xiàn)異常。如果轉(zhuǎn)換成功返回true,如果轉(zhuǎn)換失敗返回false。很明顯,最后一個(gè)參數(shù)為輸出值,如果轉(zhuǎn)換失敗,輸出值為0;如果轉(zhuǎn)換成功,則輸出相應(yīng)的值。
四、Convert.ToInt32
該方式不僅可以將字符串轉(zhuǎn)為int類型,還可以將其它類型的值轉(zhuǎn)成int類型。變量若為object或string類型,當(dāng)其值為null時(shí),會(huì)傳回0,不會(huì)造成程序錯(cuò)誤,但是若此string類型的值為string.Empty,在轉(zhuǎn)型成int時(shí),仍會(huì)造成程序錯(cuò)誤。該方式對(duì)于浮點(diǎn)數(shù)會(huì)做四舍五入。
該方式同強(qiáng)制轉(zhuǎn)換一樣,不能用來處理char類型,否則傳回的是ASCII代碼。
- C#使用Enum.TryParse()實(shí)現(xiàn)枚舉安全轉(zhuǎn)換
- C#(int)中Convert、Parse、TryParse的區(qū)別
- C#字節(jié)數(shù)組(byte[])和字符串相互轉(zhuǎn)換方式
- C#中對(duì)象與JSON字符串互相轉(zhuǎn)換的三種方式
- c#?如何將字符串轉(zhuǎn)換為大寫或小寫
- C#中字符串與字節(jié)數(shù)組的轉(zhuǎn)換方式
- C#日期格式字符串的相互轉(zhuǎn)換操作實(shí)例分析
- C# 字符串、數(shù)組和List的截取和轉(zhuǎn)換實(shí)例
- C#實(shí)現(xiàn)char字符數(shù)組與字符串相互轉(zhuǎn)換的方法
- C# 中 TryParse如何將字符串轉(zhuǎn)換為特定類型
相關(guān)文章
C#?wpf實(shí)現(xiàn)任意控件更多拖動(dòng)功能
這篇文章主要為大家詳細(xì)介紹了C#?wpf如何實(shí)現(xiàn)任意控件(包括窗口)更多拖動(dòng)功能,文中的示例代碼講解詳細(xì),有興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11
C#使用Winform連接SQL Server數(shù)據(jù)庫(kù)的詳細(xì)步驟
Windows Forms是一個(gè)用于構(gòu)建Windows桌面應(yīng)用程序的圖形用戶界面(GUI)庫(kù),它是.NET Framework的一部分,允許開發(fā)者快速創(chuàng)建豐富的交互式界面,本文給大家介紹了C#使用Winforms連接SQL Server數(shù)據(jù)庫(kù)的詳細(xì)步驟,需要的朋友可以參考下2024-09-09
C#使用post發(fā)送和接收數(shù)據(jù)的方法
這篇文章主要介紹了C#使用post發(fā)送和接收數(shù)據(jù)的方法,涉及C#使用post收發(fā)數(shù)據(jù)的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
C#中實(shí)現(xiàn)Json序列化與反序列化的幾種方式
C#中實(shí)現(xiàn)Json的序列化與反序列化也算是個(gè)老話題,那么在這篇文章中我們將老話重提,本文中將會(huì)學(xué)到如何使用C#,來序列化對(duì)象成為Json格式的數(shù)據(jù),以及如何反序列化Json數(shù)據(jù)到對(duì)象。有需要的朋友們可以參考借鑒,下面來跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。2016-12-12

