_rivulet 2022-05-09 22:57 采纳率: 66.7%
浏览 76
已结题

C# 在switch中调用枚举

书上的代码,没写全,switch(connectionState2)会一直显示
/使用了没有赋值的局部变量connectionState2/

 ConnectionState connectionState;
            //...
            switch (connectionState)
            {
                case ConnectionState.Connected:
                    //...
                    break;
                case ConnectionState.Connecting:
                    //...
                    break;
                case ConnectionState.Disconnected:
                   // ...
                    break;
                case ConnectionState.Disconnecting:
                    //...
                    break;
            }

enum ConnectionState
    {
        Disconnected,
        Connecting,
        Connected,
        Disconnecting
    }

补加一个,两个是一起的是为了显示出使用枚举的话可读性更强,
两者在运行时性能完全一样(改了一下枚举定义的一点问题)。

 //比较整数switch和枚举switch
            int connectionState;
            //...

            switch (connectionState)
            {
                case 0:
                    //...
                    break;
                case 1:
                    //...
                    break;
                case 2:
                    //...
                    break;
                case 3:
                    //...
                    break;
            }

求使用枚举的switch语句如何调用

  • 写回答

2条回答 默认 最新

  • 周周的Unity小屋 2022-05-09 23:09
    关注

    在你使用这个枚举之前肯定是要先赋值呀,要不然电脑怎么识别是哪个枚举呢?
    如果是方法调用应该是这样的

    你可能先需要定义一个全局的:
    public ConnectionState2 state=ConnectionState2.Disconnected;
    调用的时候:
    OnConnectState(state);

    void OnConnectState(ConnectionState2 connectionState2 ){

    switch (connectionState2)
    {
    case ConnectionState1.connected:
    //...
    break;
    case ConnectionState1.Connecting:
    //...
    break;
    case ConnectionState1.Disconnected:
    // ...
    break;
    case ConnectionState1.Disconnecting:
    //...
    break;
    }

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月10日
  • 修改了问题 5月10日
  • 修改了问题 5月10日
  • 创建了问题 5月9日

悬赏问题

  • ¥15 已知许多点位,想通过高斯分布来随机选择固定数量的点位怎么改
  • ¥15 怎么生成确定数目的泊松点过程
  • ¥15 layui数据表格多次重载的数据覆盖问题
  • ¥15 python点云生成mesh精度不够怎么办
  • ¥15 QT C++ 鼠标键盘通信
  • ¥15 改进Yolov8时添加的注意力模块在task.py里检测不到
  • ¥50 高维数据处理方法求指导
  • ¥100 数字取证课程 关于FAT文件系统的操作
  • ¥15 如何使用js实现打印时每页设置统一的标题
  • ¥15 安装TIA PortalV15.1报错