最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中的枚舉和結(jié)構(gòu)體用法解讀

 更新時間:2025年08月08日 09:13:54   作者:夢回大唐敲代碼  
這篇文章主要介紹了C#中的枚舉和結(jié)構(gòu)體用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

枚舉

枚舉的聲明

用enum關(guān)鍵字修飾,加枚舉名

enum 枚舉名
    {
      值1,
      值2,
      值3,
      ````
    }

什么時候使用枚舉

在確定值的數(shù)量和值的時候使用枚舉,規(guī)范程序的開發(fā)

枚舉的賦值

枚舉名 變量名=枚舉名.值;
Day nowDay = Day.星期一;

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

結(jié)構(gòu)體的聲明 用struct關(guān)鍵字修飾,加結(jié)構(gòu)體名

結(jié)構(gòu)體的使用

結(jié)構(gòu)體中可以存儲不同類型的數(shù)據(jù),一般都是每個個體共同擁有一些屬性時使用結(jié)構(gòu)體

    struct Student
    {
      變量類型 變量名;
      變量類型 變量名;
    }

結(jié)構(gòu)體中的方法

  • <1>如果方法是靜態(tài)的那么不能使用結(jié)構(gòu)體中非靜態(tài)的屬性
  • <2>如果方法是非靜態(tài)的那么可以使結(jié)構(gòu)體中的靜態(tài)和非靜態(tài)的屬性
  • <3>調(diào)用靜態(tài)方法需要用  "結(jié)構(gòu)體名.方法名" 來調(diào)用,非靜態(tài)方法直接用變量名調(diào)用
  • <4>調(diào)用靜態(tài)屬性需要用  "結(jié)構(gòu)體名.屬性名" 來調(diào)用,非靜態(tài)屬性直接用變量名調(diào)用            

代碼示例:

using System;
using System.Reflection;
namespace 第十章枚舉和結(jié)構(gòu)體
{
#region 枚舉
   
    //枚舉的聲明  用enum關(guān)鍵字修飾,加枚舉名
    //枚舉類型中默認(rèn)存儲的是int類型的,并且后面的值總是前一個值加一;
    enum Day : int   //枚舉名后面可以加上限制,但是限制的類型只能是整形 int ,long ,short 等;
    {
        星期一 =0,
        星期二 =1, //枚舉中的值可以通過等號改變
        星期三,
        星期四,
        星期五,
        星期六,
        星期日
    }
    #endregion
#region 結(jié)構(gòu)體
   
    //結(jié)構(gòu)體的聲明 用struct關(guān)鍵字修飾,加結(jié)構(gòu)體名
    //結(jié)構(gòu)體中可以存儲不同類型的數(shù)據(jù),一般都是
    struct Student
    {
        public string name;
        public  Xingb xingbie;  //結(jié)構(gòu)體可以和枚舉連用
        public  int  age;
        public  string banji;
        public bool youden;
    }
    enum Xingb
    {
        男,
        女
    }
  
    #endregion
    class Program
    {
     #region 結(jié)構(gòu)體中的方法
        //定義一個結(jié)構(gòu)體
        struct Teacher
        {
            public static string name;
            public int age;
            //非靜態(tài)方法可以使用靜態(tài)的屬性
            public void Jieshao()
            {
                Console.WriteLine("你好,我是:"+name+"我今年"+age);
            }
            //靜態(tài)方法方法中不能使用非靜態(tài)的屬性
            public static void Kecheng()
            {
                Console.WriteLine("我教你們語文課程"+name);
            }
        }
        #endregion
        static void Main(string[] args)
        {
#region 枚舉
          
            //小飛經(jīng)常出去旅游,但是每次出去對日期總是很糾結(jié),
            //用使用枚舉幫小飛隨機(jī)選擇出去旅游的日子
            Random _ran = new Random();
            //因?yàn)槊杜e時從0開始,后面是前面數(shù)字加1,所以取值為 0到7,但不包括7.
            int _numDay = _ran.Next(0,7);
           
     #region 枚舉與int類型的相互轉(zhuǎn)換
            Day nowDay = Day.星期一;
            //枚舉類型可以轉(zhuǎn)換成int類型
            int num = (int)nowDay;
            //因?yàn)槊杜e類型默認(rèn)是整數(shù)類型,并且第一個值從0開始,所以星期一轉(zhuǎn)換成int 類型值就是0
            Console.WriteLine(num);
            //int轉(zhuǎn)換為枚舉類型(在這我們用隨機(jī)數(shù)來確定小飛的出游時間)
            Day _nowDay1 = (Day)_numDay; //int轉(zhuǎn)換枚舉時要注意枚舉中的值是否存在
            //打印小飛出游的時間
            Console.WriteLine(_nowDay1 );
            #endregion
     #region 枚舉類型與string類型之間的轉(zhuǎn)換
            //將枚舉轉(zhuǎn)換成字符串
            Day strDay = Day.星期三;
            //枚舉可以使用.ToString();方法
            string _strDay1 = strDay.ToString();
            Console.WriteLine(_strDay1);
            //將string類型轉(zhuǎn)換為枚舉
            //在這我們用上面的隨機(jī)數(shù),先將隨機(jī)數(shù)轉(zhuǎn)換為string,方便學(xué)習(xí)string轉(zhuǎn)換為枚舉
            string _strDay2 = _numDay.ToString();
            //string中有個Parse方法可以將string轉(zhuǎn)換為枚舉
                            //  該方法需要兩個參數(shù),一個是類型,一個是string類型的變量
                             //我們需要獲取這個枚舉類型 這里使用 typeof(類型)方法獲取枚舉類型
                             //后面的代碼只是將類型轉(zhuǎn)換為枚舉,但是我們需要轉(zhuǎn)換為Day類型使用
                             //所以加了一個強(qiáng)轉(zhuǎn)
            Day str3NowDay = (Day)Enum.Parse(typeof(Day),_strDay2);
            //上面代碼中的字符串可以是枚舉中的字符串值 如"星期一",如果字符串是數(shù)字值,枚舉中沒有
            //該數(shù)字值那么不會報(bào)錯,但是如果是 "星期一"這種類型的值,枚舉中沒有的話會報(bào)異常
            //打印出的結(jié)果跟上述一樣
            Console.WriteLine(str3NowDay);
            #endregion
            #endregion
#region 結(jié)構(gòu)體
            //使用結(jié)構(gòu)體首先要聲明一個結(jié)構(gòu)體類型
            Student stu1;
            //為結(jié)構(gòu)體賦值,在結(jié)構(gòu)體外賦值結(jié)構(gòu)體中的變量必須是 Public(公開的)修飾的
            stu1.name = "張三";
            stu1.age = 16;
            stu1.xingbie = Xingb.男;
            stu1.banji = "六年級一班";
            stu1.youden = false;
            Student stu2;
            stu2.name = "李紅";
            stu2.age = 15;
            stu2.xingbie = Xingb.女;
            stu2.banji = "六年級一班";
            stu2.youden = true;
            //打印李紅的信息
            Console.WriteLine("姓名:"+ stu2.name+"\n年齡:" +
                      ""+ stu2.age+"\n性別:"+ stu2.xingbie+"\n優(yōu)等生:"
                      + stu2.youden+"\n班級:"+ stu2.banji);
     #region 結(jié)構(gòu)體中方法的使用
            Teacher ter1;
            //靜態(tài)屬性和靜態(tài)方法一樣都需要用結(jié)構(gòu)體名調(diào)用
            Teacher.name = "楊雪";
            //非靜態(tài)屬性和方法直接使用變量名調(diào)用
            ter1.age = 21;
            ter1.Jieshao();
            Teacher.Kecheng();
            #endregion
            #endregion
        }
    }
}

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# MySQL 實(shí)現(xiàn)多層級聯(lián)數(shù)據(jù)遷移

    C# MySQL 實(shí)現(xiàn)多層級聯(lián)數(shù)據(jù)遷移

    本文主要介紹了C# MySQL 實(shí)現(xiàn)多層級聯(lián)數(shù)據(jù)遷移,包括ID映射、拓?fù)渑判蚩刂祈樞?、事?wù)處理、批量插入優(yōu)化性能,具有一定的參考價值,感興趣的可以了解一下
    2025-07-07
  • C#使用kernel32.dll讀寫INI文件的案例詳解

    C#使用kernel32.dll讀寫INI文件的案例詳解

    INI就是擴(kuò)展名為"INI"的文件,其實(shí)他本身是個文本文件,可以用記事本打開,主要存放的是用戶所做的選擇或系統(tǒng)的各種參數(shù),這篇文章主要介紹了C#使用kernel32.dll讀寫INI文件的方法,需要的朋友可以參考下
    2023-05-05
  • C#操作進(jìn)程的方法介紹

    C#操作進(jìn)程的方法介紹

    這篇文章介紹了C#操作進(jìn)程的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • C#文件流讀寫和進(jìn)度回調(diào)示例詳解

    C#文件流讀寫和進(jìn)度回調(diào)示例詳解

    這篇文章主要給大家介紹了關(guān)于C#文件流讀寫和進(jìn)度回調(diào)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • 深入學(xué)習(xí)C#網(wǎng)絡(luò)編程之HTTP應(yīng)用編程(上)

    深入學(xué)習(xí)C#網(wǎng)絡(luò)編程之HTTP應(yīng)用編程(上)

    這篇文章主要介紹了如何學(xué)習(xí)C#網(wǎng)絡(luò)編程之HTTP應(yīng)用編程的相關(guān)知識,文中講解的非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C#使用DeepSeek?API實(shí)現(xiàn)自然語言處理,文本分類和情感分析

    C#使用DeepSeek?API實(shí)現(xiàn)自然語言處理,文本分類和情感分析

    在C#中使用DeepSeek?API可以實(shí)現(xiàn)多種功能,例如自然語言處理、文本分類、情感分析等,本文主要為大家介紹了具體實(shí)現(xiàn)步驟,需要的可以了解下
    2025-02-02
  • C# DataTable使用方法詳解

    C# DataTable使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了C# DataTable的使用方法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • C#簡單生成隨機(jī)密碼的方法示例

    C#簡單生成隨機(jī)密碼的方法示例

    這篇文章主要介紹了C#簡單生成隨機(jī)密碼的方法,結(jié)合具體實(shí)例形式分析了C#生成隨機(jī)密碼操作的前臺界面與后臺處理技巧,需要的朋友可以參考下
    2017-06-06
  • C#實(shí)現(xiàn)DataTable轉(zhuǎn)TXT、CSV文件

    C#實(shí)現(xiàn)DataTable轉(zhuǎn)TXT、CSV文件

    這篇文章介紹了C#實(shí)現(xiàn)DataTable轉(zhuǎn)TXT、CSV文件的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C# 將字節(jié)流轉(zhuǎn)換為圖片的實(shí)例方法

    C# 將字節(jié)流轉(zhuǎn)換為圖片的實(shí)例方法

    C# 將字節(jié)流轉(zhuǎn)換為圖片的實(shí)例方法,需要的朋友可以參考一下
    2013-03-03

最新評論

凌云县| 扎鲁特旗| 平邑县| 定安县| 容城县| 宁夏| 巩留县| 嘉黎县| 平湖市| 永善县| 望城县| 闽清县| 宜宾市| 乡城县| 石阡县| 朔州市| 常州市| 扶余县| 永德县| 米易县| 陈巴尔虎旗| 湘阴县| 民勤县| 松阳县| 额尔古纳市| 宽城| 双流县| 惠州市| 从江县| 云阳县| 罗山县| 石柱| 威海市| 渝北区| 临桂县| 沈丘县| 淮南市| 无为县| 吐鲁番市| 秦安县| 密山市|