溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#中怎么轉(zhuǎn)換變量類型

發(fā)布時間:2021-07-07 16:20:43 來源:億速云 閱讀:314 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)C#中怎么轉(zhuǎn)換變量類型,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

1.變量

變量是指在程序的運行過程中隨時可以發(fā)生變化的量。

語法:數(shù)據(jù)類型 變量名;

例如:

string stra="這是一個字符串";

2.常量

也稱常數(shù),是一種恒定的或不可變的數(shù)值或數(shù)據(jù)項。

語法: const 數(shù)據(jù)類型 常量名 = 常量值;

例如:

const string strconst="我是常量喔";

3.數(shù)據(jù)類型:

在C#當中,分為兩種數(shù)據(jù)類型,值類型與引用類型.

值類型,表示實際數(shù)據(jù),只是將值存放在內(nèi)存中,值類型都存儲在堆棧中,包括:

簡單類型:int,char,float,double,bool等,還有結(jié)構(gòu)及枚舉.

引用類型,表示指向數(shù)據(jù)的指針或引用,包含內(nèi)存堆中對象的地址,為 null時則表示未引用任何對象,包括:

類,接口,數(shù)組,字符串,委托,Object.

有兩種引用類型在C#中受到了特別的重視,它們的C#別名和預(yù)定義值類型的C#別名很相像。***種是Object類(C#別名是object, o小寫)。這是所有值類型和引用類型的最終基類。因為所有的類型派生自O(shè)bject,所以可以把任何類型轉(zhuǎn)換為Object類型,甚至值類型也可以轉(zhuǎn)換。所有的值類型都派生自引用類型。第二種是String類。字符串代表一個固定不變的Unicode字符序列。字符串在很多方面都像值類型,而不像引用類型。

4.C#變量類型轉(zhuǎn)換:

字符串與值類型之間的轉(zhuǎn)換:

類型.Parse(字符串),返回值為相應(yīng)的類型.

Convert.To類型(參數(shù)),參數(shù)為多種,返回值為類型.

例:

static void Main()  {       int inti = int.Parse("1");//類型.Parse(字符串)       int intj = Convert.ToInt32("1");//Convert.To類型(參數(shù))  }

強制C#變量類型轉(zhuǎn)換:

在同為值類型或同為引用類時,從較小數(shù)據(jù)類型到較大數(shù)據(jù)類型的轉(zhuǎn)換稱為擴展轉(zhuǎn)換,否則稱為收縮轉(zhuǎn)換。編譯器能進行隱式的擴展轉(zhuǎn)換,對于收縮轉(zhuǎn)換必須進行顯式的強制性轉(zhuǎn)換。因為收縮轉(zhuǎn)換會導致丟失數(shù)據(jù),在轉(zhuǎn)換前我們要檢查實際值是否超出目標類型的范圍。另一個辦法是使用checked運算符,如果轉(zhuǎn)換時丟失數(shù)據(jù)將拋出一個錯誤。

如:

static void Main()  {       int inti = 7;//32位的整數(shù)        long intl = 8;//64位的整數(shù)        intl = inti;//從小類型int轉(zhuǎn)向大類型long時,為隱式轉(zhuǎn)換        inti = (int)intl;//把大類型logn轉(zhuǎn)為小類型int時,就必須得加強制轉(zhuǎn)換符(int)  }

裝箱與拆箱

定義:把值類型轉(zhuǎn)換為Object的過程稱為裝箱。

由于值類型與引用類型在內(nèi)存中的存儲方式不同,所以我們在轉(zhuǎn)換的過程的理解上有些復(fù)雜,實際的語法跟強制類型轉(zhuǎn)換無區(qū)別,我們形象的稱之為裝箱,與拆箱.對于拆箱的限制其實很好理解,因為誰也不能從裝的是蘋果的箱子里拆出葡萄來.

static void Main()  {       int j = 4;  //可以以下面正常的轉(zhuǎn)換語法顯式地將一個值裝箱:        object ojb = (object)j;       int k = (int)obj;  //使用相同的C#變量類型轉(zhuǎn)換語法可以把裝箱的變量拆箱回值類型:                      //對拆箱操作有一些限制。只能將顯式裝箱的變量進行拆箱。正常的強制轉(zhuǎn)換中的限制在這里也適用。例如,如果把一個long型值裝箱為一個對象,我們不能把對象拆箱為一個int型值,雖然在拆箱后可以顯式地把long轉(zhuǎn)換為int:        long x = 1000;       object obj = (object)x;       int i = (int)((long)obj);  }

關(guān)于C#中怎么轉(zhuǎn)換變量類型就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI