解决使用switch case时A constant value is expected的问题

错误代码:

public void Test(int flag)
{
     int[] results = new int[] { 1, 2, 3, 4, 5, 6 };

     switch (flag)
     {
         case results[0]:
             //相应操作
             break;
     }
 }

这时你就会发现case语句编译错误

错误原因:

switch-label:
    case constant-expression:
    default:

简单地说,case标签必须是编译时的常量。注意results[0]不是编译时常量(您可能觉得它看起来是常量,但这并不是因为它不能在编译时被完全计算)。

您需要将其重新编码为if / else if / else

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值