【C#冷知識(shí)系列】(二)關(guān)于變量和類型的冷知識(shí)-創(chuàng)新互聯(lián)

介紹

從本文開始我們就要進(jìn)入C#冷知識(shí)的學(xué)習(xí)啦,在此過程中,我們將由易到難的介紹C#的各種冷知識(shí),都是我總結(jié)的滿滿的干貨,希望你們看得開心,同時(shí)有任何問題都可以留言與我交流,那么就開始吧!

創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)鎮(zhèn)賚,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

變量的初始化語法

  1. 在字段中,可以不顯式的初始化變量,會(huì)自動(dòng)給默認(rèn)值

  2. 在方法中,不顯式初始化的變量直接用就會(huì)報(bào)錯(cuò)。

private static int i;
public static void run()
{
    int j;
    //可以這么寫
    Console.WriteLine("未初始化的字段:" + i.ToString());
    //下面的寫法直接會(huì)報(bào)錯(cuò),編譯不通過
    //Console.WriteLine("未初始化的變量:" + j.ToString());
}

關(guān)于強(qiáng)制類型轉(zhuǎn)換

使用括號(hào)的強(qiáng)制類型轉(zhuǎn)換如果出錯(cuò)會(huì)拋出異常,推薦使用is as進(jìn)行類型的判斷和轉(zhuǎn)換。

double類型的不常用值

  1. double.PositiveInfinity   正無窮

  2. double.NegativeInfinity   負(fù)無窮

  3. double.NaN  非數(shù)值類型(在WPF中標(biāo)識(shí)Auto)

巧記引用類型和值類型

區(qū)分這兩個(gè)可以不用死記硬背,從原理的方面去理解:

C#區(qū)分引用類型和值類型的原因是為了得到更好的性能,值類型在棧中,引用類型在堆中。
為什么需要引用類型? 因?yàn)橛幸恍╊愋涂赡芎艽?,很占?nèi)存,這時(shí)候就用引用類型。
所以  C#中引用類型為  Object 和 string 這兩個(gè)都有可能無限增大

結(jié)構(gòu)體和類

  1. 結(jié)構(gòu)體是值類型,類是引用類型,所以結(jié)構(gòu)體分配空間在棧上  類分配空間在堆上,結(jié)構(gòu)體的性能更高

  2. 由于棧是系統(tǒng)分配空間和釋放的,所以結(jié)構(gòu)體不能有析構(gòu)函數(shù)

  3. 結(jié)構(gòu)體初始化字段的時(shí)候不能給初始值,原因是:結(jié)構(gòu)體的默認(rèn)無參構(gòu)造函數(shù)是被“鎖定”的。看下面的例子:

    // 結(jié)構(gòu)體的默認(rèn)無參構(gòu)造函數(shù)被“鎖定”
    public struct Structure
    {
        private int i;
        // 正確
        public Structure(int i)
        {
            this.i = i;
        }
        // 報(bào)錯(cuò)
        public Structure()
        {
            this.i = 0;
        }
    }

    思考: 一個(gè)還是兩個(gè)?

    public class StructureMethod
    {
        private int i;
        public StructureMethod(int i)
        {
            this.i = i;
        }
    }
    public struct Structure
    {
        private int i;
        public Structure(int i)
        {
            this.i = i;
        }
    }

    // 使用

    // 錯(cuò)誤寫法
    StructureMethod sm = new StructureMethod();

    // 正確寫法
    Structure s = new Structure();

    看上面的代碼,在初始化類的時(shí)候,只能使用一個(gè)參數(shù)的構(gòu)造函數(shù)實(shí)例化對(duì)象,而實(shí)例化結(jié)構(gòu)體卻能使用兩個(gè)構(gòu)造函數(shù)來實(shí)例化,同樣說明了結(jié)構(gòu)體鎖定默認(rèn)構(gòu)造函數(shù)的事實(shí)。

  4. 實(shí)際應(yīng)用

    因?yàn)闂?臻g小,速度快,利用這個(gè)特點(diǎn),結(jié)構(gòu)體可以用于輕量級(jí)對(duì)象,用以提升效率,例如,矩形,顏色,點(diǎn)等用結(jié)構(gòu)體就可以提升效率?;蛘咴谑褂玫臅r(shí)候,遇到傳值的場(chǎng)景,希望拷貝一份進(jìn)行傳遞,不像傳遞引用,這時(shí)候用結(jié)構(gòu)體就會(huì)方便很多。


另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章名稱:【C#冷知識(shí)系列】(二)關(guān)于變量和類型的冷知識(shí)-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://www.muchs.cn/article2/pdsoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作、面包屑導(dǎo)航、動(dòng)態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)