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# 的命名约定。仅当我们要创建仅单字字符串的枚举时,才建议使用此方法。对于其他任何事情,我们都应使用上面讨论的两种方法之一。
相关文章
在 C# 中将整数转换为布尔值
发布时间:2024/01/03 浏览次数:71 分类:编程语言
-
在 C# 中,有两种主要方法可用于将整数转换为布尔值:Convert.ToBoolean()函数和 switch 语句。
在 C# 中将 Long 转换为整数
发布时间:2024/01/03 浏览次数:68 分类:编程语言
-
有两种主要方法可用于将长变量转换为 C# 中的整数变量,即类型转换方法和 Convert.ToInt32()函数。
在 C# 中将 Int 转换为十六进制
发布时间:2024/01/03 浏览次数:156 分类:编程语言
-
ToString()函数可用于将整数值转换为十六进制字符串,而 Convert.ToInt32()函数可用于将十六进制字符串转换为 C# 中的整数值。
在 C# 中对 DataTable 进行排序
发布时间:2024/01/03 浏览次数:160 分类:编程语言
-
可使用两种主要方法对 C# 中的数据表进行排序:DataView.Sort 属性和 DataTable.DefaultView 属性。
在 C# 中读取 JSON 文件
发布时间:2024/01/03 浏览次数:146 分类:编程语言
-
Json.net 命名空间内的 JsonConvert 类可用于在 C# 中对 JSON 文件执行读取和写入操作。
C# 中的 DateTime 中设置 null 值
发布时间:2024/01/03 浏览次数:91 分类:编程语言
-
在本文中,你将了解 DateTime 对象的基础知识以及如何在 C# 中使用它来分配空值。