迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

C# 中的字符串枚举

作者:迹忆客 最近更新:2024/01/03 浏览次数:

本教程将介绍在 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# 的命名约定。仅当我们要创建仅单字字符串的枚举时,才建议使用此方法。对于其他任何事情,我们都应使用上面讨论的两种方法之一。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 C# 中将 Long 转换为整数

发布时间:2024/01/03 浏览次数:68 分类:编程语言

有两种主要方法可用于将长变量转换为 C# 中的整数变量,即类型转换方法和 Convert.ToInt32()函数。

在 C# 中将 Int 转换为十六进制

发布时间:2024/01/03 浏览次数:156 分类:编程语言

ToString()函数可用于将整数值转换为十六进制字符串,而 Convert.ToInt32()函数可用于将十六进制字符串转换为 C# 中的整数值。

在 C# 中读取 JSON 文件

发布时间:2024/01/03 浏览次数:146 分类:编程语言

Json.net 命名空间内的 JsonConvert 类可用于在 C# 中对 JSON 文件执行读取和写入操作。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便