日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

枚举和结构

發(fā)布時(shí)間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 枚举和结构 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.? 枚舉

    a)??? 枚舉類型是一種特殊的值類型,它用于聲明一組具有相同性質(zhì)的常量,

    b)??? 聲明枚舉

    在C#中使用關(guān)鍵字enum類聲明枚舉,其形式如下。

enum? 枚舉名

{

???? List1=value1,

???? List2=value2,

???? List3=value3,

??? ….

???? ListN=valueN;

}

?

    其中,大括號{}的內(nèi)容為枚舉值列表,每個(gè)枚舉值均對應(yīng)一個(gè)枚舉值名稱,value1~valueN為整數(shù)數(shù)據(jù)類型,List1~ListN則為枚舉值的標(biāo)識名稱。

如果枚舉沒有初始化, 即省掉"=整型常數(shù)"時(shí), 則從第一個(gè)標(biāo)識符開始, 順次賦給標(biāo)識符0, 1, 2, ...。但當(dāng)枚舉中的某個(gè)成員賦值后, 其后的成員按依次加1的規(guī)則確定其值。

  c)??? 枚舉成員訪問

    你可以在任何需要使用符號常量的位置使用枚舉類型, 但是如果你想得到枚舉類型所代表的整型值就得對其轉(zhuǎn)型,語法:

          枚舉名.成員名

          (int)枚舉名.成員名

2.? 結(jié)構(gòu)

    結(jié)構(gòu)是C#程序員用來定義自己的值類型的最普遍的機(jī)制。結(jié)構(gòu)比枚舉更強(qiáng)大,因?yàn)樗峁┖瘮?shù)、字段、構(gòu)造函數(shù)、操作符和訪問控制。結(jié)構(gòu)類型也是先聲明后使用。聲明結(jié)構(gòu)類型時(shí)要使用struct關(guān)鍵字

    A)? 定義結(jié)構(gòu)

          語法: struct? 結(jié)構(gòu)名 { //結(jié)構(gòu)成員定義 }

          例子:struct MyCat

??            ? {???

              public int age;

????            ??? public string name;

??            ? }

    B)? 結(jié)構(gòu)成員

          結(jié)構(gòu)成員可分為兩類,一是實(shí)例成員,一是靜態(tài)成員。靜態(tài)成員通過結(jié)構(gòu)名來訪問,而實(shí)例成員的訪問是通過創(chuàng)建結(jié)構(gòu)類型的變量來訪問結(jié)構(gòu)的實(shí)例成? ?         員。結(jié)構(gòu)的構(gòu)造函數(shù)必須帶參數(shù)

結(jié)構(gòu)名? 變量名;

3.? 結(jié)構(gòu)和枚舉的區(qū)別:

  1)結(jié)構(gòu)中的成員可以賦值;枚舉是取值,只讀的   2)結(jié)構(gòu)是跟類很相似的一種數(shù)據(jù)結(jié)構(gòu);而枚舉是一個(gè)有限的整數(shù)序列   3)結(jié)構(gòu)是值類型,當(dāng)顯示的定義帶參的構(gòu)造函數(shù)時(shí),默認(rèn)的無參構(gòu)造函數(shù)依然存在,結(jié)構(gòu)不能繼承,但可實(shí)現(xiàn)接口;
而枚舉也是值類型,它是一組已命名的數(shù)值常量,它有助于定義具有一組特定值的數(shù)據(jù)類型,主要總結(jié)為 :確定并有限,不會出現(xiàn)非安全值。   4)定義結(jié)構(gòu)的關(guān)鍵字是:static ;定義枚舉的關(guān)鍵字是:enum

4.類和結(jié)構(gòu)的區(qū)別:

    1)??? 結(jié)構(gòu)屬于值類型,結(jié)構(gòu)的值是直接存儲在棧空間中的;

? ? ? ? ? ? ? ? ? ? ?類屬于引用類型,類的值是存儲在托管堆中,在棧空間中保存指向該托管堆的內(nèi)存地址。

    2)??? 結(jié)構(gòu)當(dāng)顯示的定義帶參的構(gòu)造函數(shù)時(shí),默認(rèn)的無參構(gòu)造函數(shù)依然存在;

?    ? ??? 類當(dāng)顯示的定義帶參的構(gòu)造函數(shù)時(shí),默認(rèn)的無參構(gòu)造函數(shù)就不存在了

    3)??? 結(jié)構(gòu)不能繼承,但可實(shí)現(xiàn)接口;類可以繼承,也可以實(shí)現(xiàn)接口。

    4)??? 結(jié)構(gòu)的關(guān)鍵字:static;類的關(guān)鍵字是class

?

轉(zhuǎn)載于:https://www.cnblogs.com/slwx1514/p/10030443.html

總結(jié)

以上是生活随笔為你收集整理的枚举和结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。