C# 中检查两个枚举是否相等


枚举 (Enums) 是 C# 编程语言中的一个基本组成部分。它们允许开发者定义一种变量类型,该变量可以具有几个预定义常量中的一个。了解如何比较两个枚举以判断是否相等,对于你的 C# 编程工具箱来说是一个至关重要的工具。本文将指导你完成此过程,最后你将能够熟练地比较 C# 中的两个枚举值。

理解 C# 中的枚举

在我们继续之前,必须理解枚举是什么。枚举是 C# 中的值类型,用于表示命名常量的集合,通常称为枚举列表。

这是一个枚举的简单示例:

public enum Days {
   Sunday,
   Monday,
   Tuesday,
   Wednesday,
   Thursday,
   Friday,
   Saturday
}

在这个例子中,Days 是一个枚举,Sunday、Monday 等是它的成员。

比较两个枚举

在 C# 中检查两个枚举值是否相等很简单。只需使用 == 运算符即可。

示例

这是一个例子:

using System;

public enum Days {
   Monday,
   Tuesday,
   Wednesday,
   Thursday,
   Friday,
   Saturday,
   Sunday
}

public class Program {
   public static void Main() {
      Days day1 = Days.Monday;
      Days day2 = Days.Monday;

      if (day1 == day2) {
         Console.WriteLine("The days are equal.");
      } else {
         Console.WriteLine("The days are not equal.");
      }
   }
}

在这个代码片段中,我们首先定义了两个 Days 类型的变量 day1 和 day2。然后,我们使用 == 运算符来检查 day1 和 day2 是否相等。

输出

The days are equal.

比较不同大小写的枚举

C# 区分大小写,这意味着 Days.Monday 和 Days.monday 将被认为是不同的。但是,你可能需要比较拼写相同但大小写不同的两个枚举值的情况。

你可以通过将枚举值转换为字符串,然后使用 String.Equals 方法(带 StringComparison.OrdinalIgnoreCase 参数)来比较字符串来实现这一点。

示例

这是一个例子:

using System;

public enum Days {
   Monday,
   Tuesday,
   Wednesday,
   Thursday,
   Friday,
   Saturday,
   Sunday
}

public class Program {
   public static void Main() {
      string day1 = Days.Monday.ToString();
      string day2 = "monday";

      if (String.Equals(day1, day2, StringComparison.OrdinalIgnoreCase)) {
         Console.WriteLine("The days are equal.");
      } else {
         Console.WriteLine("The days are not equal.");
      }
   }
}

在这个例子中,我们首先将枚举值转换为字符串。然后,我们使用 String.Equals 方法和 StringComparison.OrdinalIgnoreCase 来比较字符串,而不考虑它们的大小写。

输出

The days are equal.

结论

在 C# 中,比较两个枚举值既简单又直接。通过使用 == 运算符或 String.Equals 方法进行不区分大小写的比较,你可以轻松地检查两个枚举值是否相等。

更新于:2023年7月24日

4K+ 阅读量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告