C# 中的字串列舉

Muhammad Maisam Abbas 2024年2月16日
  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