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