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
我們宣告瞭一個名為 Error
的 public 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# 的命名約定。僅當我們要建立僅單字字串的列舉時,才建議使用此方法。對於其他任何事情,我們都應使用上面討論的兩種方法之一。
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
- C# 將字串轉換為列舉型別
- C# 中將整形 Int 轉換為字串 String
- 在 C# 中的 Switch 語句中使用字串
- 如何在 C# 中把一個字串轉換為布林值
- 如何在 C# 中把一個字串轉換為浮點數
- 如何在 C# 中將字串轉換為位元組陣列