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

csharpserver side programmingprogramming

枚举是 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("天数相等。");
      } else {
         Console.WriteLine("天数不相等。");
      }
   }
}

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

输出

天数相等。

比较不同大小写的枚举

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("天数相等。");
      } else {
         Console.WriteLine("天数不相等。");
      }
   }
}

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

输出

天数相等。

结论

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


相关文章