c#強(qiáng)制類(lèi)型轉(zhuǎn)換int方式
c#強(qiáng)制類(lèi)型轉(zhuǎn)換int
在 C# 中有三種方法把其它類(lèi)型轉(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ù)類(lèi)型都看作對(duì)象,所以可以把所有類(lèi)型都轉(zhuǎn)換為 int;
遇到不能轉(zhuǎn)換為 int 的類(lèi)型,則返回 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)換的類(lèi)型轉(zhuǎn)換后是數(shù)字比較明確的情況,不然對(duì)不能轉(zhuǎn)換為 int 的數(shù)據(jù)類(lèi)型用強(qiáng)制轉(zhuǎn)換就會(huì)產(chǎn)生異常
舉例如下:
int n = (int)Cache["totalOnline"]; //把緩存的在線(xiàn)人數(shù)轉(zhuǎn)為 int byte b = 8; int i = (int)b; double d = 15.26; int i = (int)d; //結(jié)果為 15
4、效率比較
由于在轉(zhuǎn)換過(guò)程中,Convert.ToInt32() 方法最終也是先調(diào)用 int.Parse() 方法,所以 int.Parse() 方法的效率自然比 Convert.ToInt32() 方法高。
如果待轉(zhuǎn)換的類(lèi)型轉(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è)參考,也希望大家多多支持腳本之家。
- C++引用和強(qiáng)制類(lèi)型轉(zhuǎn)換問(wèn)題小結(jié)
- C++強(qiáng)制類(lèi)型轉(zhuǎn)換詳細(xì)示例代碼
- C語(yǔ)言中的數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換
- C++類(lèi)的自動(dòng)轉(zhuǎn)換和強(qiáng)制類(lèi)型轉(zhuǎn)換的實(shí)現(xiàn)示例
- C語(yǔ)言中強(qiáng)制類(lèi)型轉(zhuǎn)換的常見(jiàn)方法
- C++中的強(qiáng)制類(lèi)型轉(zhuǎn)換操作詳解
- c語(yǔ)言struct結(jié)構(gòu)體強(qiáng)制類(lèi)型轉(zhuǎn)換的實(shí)現(xiàn)
相關(guān)文章
C#使用Spire.PDF for .NET輕松比較PDF文檔
PDF 已成為跨平臺(tái)共享和保存文檔的標(biāo)準(zhǔn)格式,在工作和日常生活中都扮演著重要角色,然而,創(chuàng)建高質(zhì)量的 PDF 文檔通常需要多次檢查與修改,所以本文將演示如何在 C# 程序中使用 Spire.PDF for .NET 輕松比較 PDF 文檔,需要的朋友可以參考下2025-11-11
C#實(shí)現(xiàn)在控制臺(tái)輸出當(dāng)前系統(tǒng)時(shí)間的方法
這篇文章主要介紹了C#實(shí)現(xiàn)在控制臺(tái)輸出當(dāng)前系統(tǒng)時(shí)間的方法,涉及C#時(shí)間函數(shù)DateTime.Now的使用方法,需要的朋友可以參考下2015-04-04
C#?守護(hù)進(jìn)程的介紹及實(shí)現(xiàn)詳解
本文主要介紹了C#?守護(hù)進(jìn)程的介紹及實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
基于c# Task自己動(dòng)手寫(xiě)個(gè)異步IO函數(shù)
這篇文章主要介紹了如何基于c# Task自己動(dòng)手寫(xiě)個(gè)異步IO函數(shù),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03
C#非托管泄漏中HEAP_ENTRY的Size對(duì)不上解析
這篇文章主要為大家介紹了C#非托管泄漏中HEAP_ENTRY的Size對(duì)不上解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09

