C# 中的字串列舉

Muhammad Maisam Abbas 2023年1月30日 2021年3月21日
  1. 在 C# 中使用擴充套件方法建立字串列舉
  2. 在 C# 中使用常量變數建立字串列舉
  3. 在 C# 中使用 ToString() 函式建立字串列舉
C# 中的字串列舉

本教程將介紹在 C# 中建立字串列舉的方法。

在 C# 中使用擴充套件方法建立字串列舉

列舉是變數可以儲存的一組預定義的常數值。enum用於在 C# 中宣告列舉。預設情況下,enum 類中的變數型別為 int。沒有內建方法宣告帶有字串值的列舉。如果我們想用字串常量宣告一個列舉,可以使用 enum 類和一個擴充套件方法以實現此目標。以下程式碼示例向我們展示瞭如何使用 C# 中的 enum 類和擴充套件方法建立字串值的列舉。

using System;

namespace enum_with_string
{
    public enum ErrorLevel
    {
        None,
        Low,
        Medium,
        High
    }

    public static class ErrorLevelExtensions
    {
        public static string GetString(this ErrorLevel me)
        {
            switch (me)
            {
                case ErrorLevel.None:
                    return "NO ERRORS";
                case ErrorLevel.Low:
                    return "LOW LEVEL ERROR";
                case ErrorLevel.Medium:
                    return "MEDIUM LEVEL ERROR";
                case ErrorLevel.High:
                    return "HIGH LEVEL ERROR";
                default:
                    return "NO VALUE GIVEN";
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            ErrorLevel e = ErrorLevel.None;
            string output = e.GetString();
            Console.WriteLine(output);
        }
    }
}

輸出:

NO ERRORS

我們用 enum 關鍵字宣告瞭常量值 None, Low, Medium, High 的列舉 ErrorLevel。然後,我們建立了擴充套件函式 GetString(),該函式使用 switch() 語句確定列舉的值並根據該值返回字串。GetString() 函式的結果儲存在 output 字串中。

在 C# 中使用常量變數建立字串列舉

我們還可以通過在 C# 類中初始化一些常量變數來實現列舉的功能。const 關鍵字指定變數現在是常量,我們無法更改其值。以下程式碼示例向我們展示瞭如何在 C# 中建立具有常量變數的字串列舉。

using System;

namespace enum_with_string
{
    public static class Error
    {
        public const string None = "No Errors";
        public const string Low = "Low Level Errors";
        public const string Medium = "Medium Level Errors";
        public const string High = "High Level Errors";
    }
    class Program
    {
        static void Main(string[] args)
        {
            String output = Error.Low;
            Console.WriteLine(output);
        }
    }
}

輸出:

Low Level Errors

我們宣告瞭一個名為 Errorpublic static class,並初始化了該類中所有的 public const string 變數。保留 static 類的原因是我們不想在 main() 函式內建立 Error 類的例項。我們將 Error.Low 的值儲存在字串變數 output 中。這種方法更加簡單易懂。關鍵字 struct 代替 class 關鍵字的結構也可以完成相同的操作。

在 C# 中使用 ToString() 函式建立字串列舉

這是在 C# 中將列舉內的值名稱轉換為字串的一種簡易方法。我們可以將 ToString() 函式與列舉例項一起使用來轉換列舉內的值的名稱為字串。以下程式碼示例向我們展示瞭如何使用 C# 中的 ToString() 函式建立字串列舉。

using System;

namespace enum_with_string
{
    public enum ErrorLevel
    {
        None,
        Low,
        Medium,
        High
    }
    class Program
    {
        static void Main(string[] args)
        {
            ErrorLevel e = ErrorLevel.None;
            string output = e.ToString();
            Console.WriteLine(output);
        }
    }
}

輸出:

None

我們使用 C# 中的 ToString() 函式將列舉 ErrorLevel 內的名稱 None 轉換為字串。這種方法易於使用,但有一些缺點。通過這種方法,我們無法像以前的示例那樣獲得值 Low Level Errors。在這種方法中,我們必須遵循 C# 的命名約定。僅當我們要建立僅單字字串的列舉時,才建議使用此方法。對於其他任何事情,我們都應使用上面討論的兩種方法之一。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相關文章 - Csharp String

相關文章 - Csharp Enum