iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 21
0
自我挑戰組

初心者學C#系列 第 21

Day 21: C#的列舉類型 ☆*゚ ゜゚*(´∀`)*゚ ゜゚*☆

  • 分享至 

  • xImage
  •  

※以下內容皆是新手撰寫,內容可能不完全正確

最後十天了!(給自己一點寫下去的動力QQ)不知道自己剩下這幾天能學到哪兒,到哪就算哪了吧 ˊˇˋ期待三十天結束後能夠寫出簡單的小程式這樣,不然練習都白費了~這些筆記主要還是寫給自己看的嘿

今天的主題是 列舉類型(enums/enum types/enumeration types) (不同的名字多的有點煩)。 列舉(enumeration (n.)) 在這裡指的是一個集合,內有一堆被命名的整數常數,而這種列舉類型用 enum關鍵字(enum keyword) 宣告。

宣告語法: enum <列舉名稱> { 列舉列表 };

列舉列表是用逗號隔開的一列識別符,每個識別符同時表示一個整數值(integer value),第一個位子的是0,每往後一個,數值就加一(0, 1, 2, 3, 4, 5, etc.),但這是列舉類型的預設值而已,分配給識別符的值可以更動,可以是任何合理的數值(下面會講)。因為列表裡用的是識別符,引用這些值的時候用識別符就可以了。
enum months {jan, feb, mar, apr, may };

下面是個小練習,目的是要把月份跟數字對上:

using System;
namespace CubeApplication
{

    class Stuff
    {
        enum months {
            jan,
            feb,
            mar,
            apr,
            may
        }
        static void Main(string[] args)
        {
            Console.WriteLine("January: {0}", (int)months.jan);
            Console.WriteLine("March: {0}", (int)months.mar);
            Console.WriteLine("May: {0}", (int)months.may);
        }
        }
    }

光憑預設的數值輸出是這樣的,數字跟月份沒有對到:

January: 0
March: 2
May: 4

這個時候,試著更改一下程式碼,給jan = 1:

using system;
namespace CubeApplication
{

    class Stuff
    {
        enum months {
            jan = 1,
            feb,
            mar,
            apr,
            may
        }
        static void Main(string[] args)
        {
            Console.WriteLine("January: {0}", (int)months.jan);
            Console.WriteLine("March: {0}", (int)months.mar);
            Console.WriteLine("May: {0}", (int)months.may);
        }
        }
    }

改完之後執行,輸出的便是正確的月份了。只有改jan,但後面兩個識別符的整數值也因而+1:

January: 1
March: 3
May: 5

列舉類型的方法(enum methods)讓這類型有更多種使用方法,格式是Enum.<某方法>。
這邊有列出一些:https://www.tutorialsteacher.com/csharp/csharp-enum

變成C#語言筆記+翻譯練習了,有一大半的時間花在查某些名詞對應的中文,雖然查單字已經(被迫)練到查成習慣了,但查著查著還是會覺得心好累ˊˋ好處是聽說其它程式語言裡頭這些用詞很類似,不用怕學另一個程式語言又重新查一遍了(?)大概吧,現在啥都沒辦法肯定的說「絕對是這樣」了XDDD

參考資料:
(a) Tutorialspoint; C# - Enums
https://www.tutorialspoint.com/csharp/csharp_enums.htm
(b) TutorialsTeacher; C# - enum
https://www.tutorialsteacher.com/csharp/csharp-enum


上一篇
Day 20:C#的結構,幫BL文做分類 ง ( ⌓̈ )ง
下一篇
Day 22:C#中的類別(上)(ಠ益ಠ)
系列文
初心者學C#30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言