C#每天复习一个重要小知识day5:枚举与switch是天生一对

因为枚举一般用来表示条件和类型等等,所以它一般用条件分支来表现。所以枚举与switch是天生一对,因为很方便。(用if语句也可,但是没switch方便)

简单的举例:
namespace 精细练习
{
    enum E_Player {
    
    Main,
    Other
    
    
    }





    internal class Program
    {
        static void Main(string[] args)
        {

            E_Player player =E_Player.Main;

            switch (player)
            {
                case E_Player.Main:
                    break;
                case E_Player.Other:
                    break;
                default:
                    break;
            }

        }
    }
}

总之,通过枚举,我们可以清晰地表示不同角色的常量值,并在代码中进行比较和逻辑判断,使得代码更易读、更具可维护性。

另一个具体的代码例子:
enum E_UserRole
{
    Admin,//管理员
    Moderator,//版主
    Member,//会员
    Guest//访客
}


 

使用枚举后,我们可以在代码中使用这些角色,比如在用户登录时进行权限验证:

E_UserRole userRole = GetUserRoleFromDatabase(); // 从数据库获取角色

switch (userRole)
{
    case UserRole.Admin:
        // 执行管理员权限操作
        Console.WriteLine("Admin actions");
        break;
    
    case UserRole.Moderator:
        // 执行版主权限操作
        Console.WriteLine("Moderator actions");
        break;
    
    case UserRole.Member:
        // 执行会员权限操作
        Console.WriteLine("Member actions");
        break;
    
    case UserRole.Guest:
        // 执行访客权限操作
        Console.WriteLine("Guest actions");
        break;
    
    default:
        // 处理未知角色或其他情况
        Console.WriteLine("Unknown role");
        break;
}

这个例子中,我们使用switch语句根据userRole的值来执行不同的操作。根据不同的角色,对应的case分支会被执行,执行完相应的操作后会使用break语句跳出switch语句。

使用switch语句可以使代码更加清晰、易读,并且在未知角色或其他情况下提供了默认处理分支。同时,由于枚举的取值是有限的,使用switch语句比使用一系列的if-else语句更有效率和易于维护。

你可能感兴趣的:(每天复习一个小知识,c#)