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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

# 遍历结构体_C#学习笔记05--枚举/结构体

發布時間:2023/12/2 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 # 遍历结构体_C#学习笔记05--枚举/结构体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.枚舉

當變量的取值范圍是固定的幾個, 例如性別--男,女; 英雄類型 -- 法師, 刺客.戰士, 射手等等. 這時就可以使用枚舉類型, 會更加簡潔方便.

1.1.定義:

訪問修飾符 enum 枚舉類型名 {成員1,成員2,成員3,... }public enum Days{Mon = 1,Tue,Wed,Thu,Fri,Sat,Sun}
  • enum: 是枚舉的關鍵字;
  • Days 枚舉類型名;
  • Mon, Tue, Wed,...是枚舉成員變量 枚舉類型賦值只能是成員變量;
  • 枚舉的默認值是從0開始的, 可以人為改變 以下個會在上一個的基礎上默認加1, 例如上例設置了Mon 為1, 那么Tue 就會在 Mon的基礎上加1 為2, 以此類推;
  • 1.2.枚舉的使用

    //語法格式: 枚舉類型 枚舉變量名 = 枚舉類型.枚舉值:Days date = Days.Sun; Console.WriteLine(date); // 結果為 : Sun //如果想要得到 成員變量對應的數字 可以進行強制類型轉換 如下: Console.WriteLine((int)date); // 結尾為: 7

    注意:

  • 當給枚舉變量賦值時, 其值只能通過枚舉類型名加點運算符取得(從定義的枚舉類型后面的{}中選擇), 故枚舉類型限制了枚舉變量的取值, 因此在編程過程中, 使用枚舉類型可以讓我們的數據保持統一.
  • 系統會給枚舉值賦一個默認的int類型的值, 第一個枚舉值是0, 后面的枚舉值所對應的int 值依次加1; 故枚舉類型本質上也是個int類型的值, 可以在int 類型和枚舉類型之間進行轉換, 轉換時需要使用強制類型轉換符;
  • 類型轉換

    1.字符串轉換枚舉類型

    枚舉類型名 枚舉變量名 = (枚舉類型名)Enum.Parse(typeof(枚舉類型名), 字符串);
    Days date = (Days)Enum.Parse(typeof(Days), Console.ReadLine());

    2. 枚舉類型成員轉換成字符串

    string 變量名 = Enum.GetName(typeof(枚舉類型名), 枚舉變量名);
    string str = Enum.GetName(typeof(Days), date);

    3.枚舉轉換為int類型

    int 變量名 = (int)枚舉類型名.成員變量;
    int day = (int)Days.Sat;

    4.整型轉換為枚舉類型

    枚舉類型名 枚舉變量名 = (枚舉類型名)Enum.ToObject(typeof(枚舉類型名), 數值);
    Days date1 = (Days)Enum.ToObject(typeof(Days), 1); / Days date2 = (Days)1;

    二.結構體

    結構體: 存放多個數據類型的容器 (數據類型可以不相同)

    2.1.定義格式:

    訪問修飾符 struct 結構體類型名 {訪問修飾符 數據類型 變量名;訪問修飾符 數據類型 變量名;... }public enum Gender {M,W } public StudentInfo {public string name;public int age;public Gender sex; }

    注意:

  • struct 是關鍵字, 用來定義一個結構體類型;
  • struct 后面才是類型名, 類型名的每個單詞首字母都要大寫;
  • 結構體里面每個變量都是結構體類型StudentInfo的一個成員, 簡稱位成員變量;
  • 結構體里面的成員變量只聲明, 不賦值, 需要使用結構體變量來給其成員變量賦值;
  • 每個成員變量前面暫時使用public 關鍵字來修飾, public 是訪問修飾符, 成員變量前面只有使用public修飾, 才可以在結構體外面被直接調用賦值.
  • 2.2.結構體的使用

    基本操作

    說明:

  • 使用結構體變量加上點運算符, 取出結構體中 public 修飾的成員, 然后再根據成員的數據類型給成員賦值;
  • 結構體變量做為一個整體不能直接參與運算, 需要使用變量包含的某個成員進行運算;
  • 2.3.結構體數組

    如上, 創建好結構體之后我們定義了兩個對象, 然后用cw輸出; 試想, 如果我們定義的對象有一百一千個, 當我們想要輸出這些對象的數據時候我們就得打一百一千行代碼, 這樣一來代碼就會很繁瑣. 如何優化呢? 我們可以用一個數組來存儲定義的各個對象, 然后就可以通過對數組的遍歷 僅僅寫一個for/foreach 來取得各個對象.

    注意:

  • 在定義數組的時候. 因為我們每個元素都是結構體類型的, 所以數組的類型也必須要是結構體類型的.
  • item 得到的是數組元素, 而每個元素都是一個結構體, 因此不能直接把item打印出來;
  • 2.4 結構體數組的排序

    例如: 我們有一個結構體類型學生的基礎信息, 定義一個結構體類型的數組來存放n個學生的信息, 現在想要對該數組進行一個排序, 按照學生年齡的升序進行.

    =======================================================

    思維導圖

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的# 遍历结构体_C#学习笔记05--枚举/结构体的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。