c#強(qiáng)制類型轉(zhuǎn)換int方式
c#強(qiáng)制類型轉(zhuǎn)換int
在 C# 中有三種方法把其它類型轉(zhuǎn)為整型,分別是 :
- int.Parse()
- 強(qiáng)制轉(zhuǎn)換(int)
- Convert.ToInt32()
下面探討它們各自的特點(diǎn)及效率
1、int.Parse() 方法
該方法只能把字符型(string)轉(zhuǎn)換為整型(int),如果用它把非字符型轉(zhuǎn)為 int,則會(huì)產(chǎn)生異常
舉例如下:
int i = int.Parse("100");
注意:如果把不能轉(zhuǎn)換為 int 字符轉(zhuǎn)換為 int,也會(huì)發(fā)生異常,如:
int text = int.Parse("轉(zhuǎn)為整型");
2、Convert.ToInt32() 方法
該方法是把對(duì)象型(object)轉(zhuǎn)換為整型(int)
由于 C# 把各種數(shù)據(jù)類型都看作對(duì)象,所以可以把所有類型都轉(zhuǎn)換為 int;
遇到不能轉(zhuǎn)換為 int 的類型,則返回 0
舉例如下:
int n = Convert.ToInt32(Cache["totalOnline"]); //把對(duì)象型轉(zhuǎn)為 int bool flag = true; int b = Convert.ToInt32(flag); //把布爾型轉(zhuǎn)為 int,結(jié)果返回 0 int m = Convert.ToInt32(null);//把“空”轉(zhuǎn)為 int,結(jié)果返回 0
3、強(qiáng)制轉(zhuǎn)換(int)
強(qiáng)制轉(zhuǎn)換通常用在待轉(zhuǎn)換的類型轉(zhuǎn)換后是數(shù)字比較明確的情況,不然對(duì)不能轉(zhuǎn)換為 int 的數(shù)據(jù)類型用強(qiáng)制轉(zhuǎn)換就會(huì)產(chǎn)生異常
舉例如下:
int n = (int)Cache["totalOnline"]; //把緩存的在線人數(shù)轉(zhuǎn)為 int byte b = 8; int i = (int)b; double d = 15.26; int i = (int)d; //結(jié)果為 15
4、效率比較
由于在轉(zhuǎn)換過程中,Convert.ToInt32() 方法最終也是先調(diào)用 int.Parse() 方法,所以 int.Parse() 方法的效率自然比 Convert.ToInt32() 方法高。
如果待轉(zhuǎn)換的類型轉(zhuǎn)換后一定是數(shù)字,建議使用 int.Parse() 方法和強(qiáng)制轉(zhuǎn)換(int),以提高程序執(zhí)行效率;
如果不能斷定,只能用Convert.ToInt32() 方法,或用 Convert.ToInt32() 方法加異常處理,即:
int i; try { i = int.Parse(Cache["totalOnline"]); } catch { i = 0; }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#使用代碼實(shí)現(xiàn)春晚撲克牌魔術(shù)
這篇文章主要為大家詳細(xì)介紹了C#如何使用代碼實(shí)現(xiàn)龍年春晚撲克牌魔術(shù)(守歲共此時(shí)),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2024-02-02C#的Process類調(diào)用第三方插件實(shí)現(xiàn)PDF文件轉(zhuǎn)SWF文件
本篇文章主要介紹了C#的Process類調(diào)用第三方插件實(shí)現(xiàn)PDF文件轉(zhuǎn)SWF文件,現(xiàn)在分享給大家,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11解析C#中的私有構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù)
這篇文章主要介紹了C#中的私有構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù),是C#入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-01-01詳解如何利用C#實(shí)現(xiàn)設(shè)置系統(tǒng)時(shí)間
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)設(shè)置系統(tǒng)時(shí)間功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12C#實(shí)現(xiàn)讀取多條數(shù)據(jù)記錄并導(dǎo)出到Word
這篇文章主要為大家詳細(xì)介紹了C#如何實(shí)現(xiàn)讀取多條數(shù)據(jù)記錄并導(dǎo)出到Word,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03