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语句如何调用

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

你可能先需要定义一个全局的:
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;
}

编写switch case 语句时要写把全部的可能都要写进去。默认未赋值你可以写在default判断分支中。