c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的區(qū)別詳解
本文對c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的區(qū)別進(jìn)行了較為深入的詳細(xì)分析,對初學(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)換方式,否則會產(chǎn)生編譯錯誤。
該方式對于浮點(diǎn)數(shù)會做無條件舍去,失去精確度。
當(dāng)然,該方式也可以進(jìn)行object到int得轉(zhuǎn)換,但是,object的值要賦予int類型的值,否則會產(chǎn)生編譯錯誤,而且object為null時也會出錯。
最后切忌的一點(diǎn),千萬不要用來處理char類型到int類型的轉(zhuǎn)換,否則傳回的的值是ASCII代碼,而并不是你想要的值。
二、int.Parse(string類型變量名)
該方式是將數(shù)字內(nèi)容的字符串轉(zhuǎn)為int類型,如果字符串內(nèi)容為空或者null時,則拋出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)越的地方,就是它不會出現(xiàn)異常。如果轉(zhuǎn)換成功返回true,如果轉(zhuǎn)換失敗返回false。很明顯,最后一個參數(shù)為輸出值,如果轉(zhuǎn)換失敗,輸出值為0;如果轉(zhuǎn)換成功,則輸出相應(yīng)的值。
四、Convert.ToInt32
該方式不僅可以將字符串轉(zhuǎn)為int類型,還可以將其它類型的值轉(zhuǎn)成int類型。變量若為object或string類型,當(dāng)其值為null時,會傳回0,不會造成程序錯誤,但是若此string類型的值為string.Empty,在轉(zhuǎn)型成int時,仍會造成程序錯誤。該方式對于浮點(diǎn)數(shù)會做四舍五入。
該方式同強(qiáng)制轉(zhuǎn)換一樣,不能用來處理char類型,否則傳回的是ASCII代碼。
- C#使用Enum.TryParse()實現(xiàn)枚舉安全轉(zhuǎn)換
- C#(int)中Convert、Parse、TryParse的區(qū)別
- C#字節(jié)數(shù)組(byte[])和字符串相互轉(zhuǎn)換方式
- C#中對象與JSON字符串互相轉(zhuǎn)換的三種方式
- c#?如何將字符串轉(zhuǎn)換為大寫或小寫
- C#中字符串與字節(jié)數(shù)組的轉(zhuǎn)換方式
- C#日期格式字符串的相互轉(zhuǎn)換操作實例分析
- C# 字符串、數(shù)組和List的截取和轉(zhuǎn)換實例
- C#實現(xiàn)char字符數(shù)組與字符串相互轉(zhuǎn)換的方法
- C# 中 TryParse如何將字符串轉(zhuǎn)換為特定類型
相關(guān)文章
C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法
本文主要介紹了C#中利用LINQ to XML與反射把任意類型的泛型集合轉(zhuǎn)換成XML格式字符串的方法:利用反射,讀取一個類型的所有屬性,然后再把屬性轉(zhuǎn)換成XML元素的屬性或者子元素。下面注釋比較完整,需要的朋友可以看下2016-12-12C# 泛型數(shù)組學(xué)習(xí)小結(jié)
C# 泛型數(shù)組學(xué)習(xí)中我們需要注意什么事項呢?C# 泛型數(shù)組的使用又是如何呢?那么本文就向你詳細(xì)介紹這方面的內(nèi)容2012-09-09利用Aspose.Cells和Excel模板導(dǎo)出統(tǒng)計數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了利用Aspose.Cells和Excel模板導(dǎo)出復(fù)雜的統(tǒng)計數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12C# 運(yùn)算符 ?、??、?: 各種問號的用法和說明
本文介紹C#中三種常見的問號運(yùn)算符的使用方法,簡單講解給大家,希望對大家有所幫助。2016-04-04