首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控件不能从一个case标签切换到另一个case标签。

控件不能从一个case标签切换到另一个case标签。
EN

Stack Overflow用户
提问于 2013-02-25 11:40:18
回答 2查看 4.7K关注 0票数 1

我环顾四周,我知道这意味着中断是无法到达的,但我不明白它为什么是无法到达的,或者它试图到达的是什么。我收到错误的代码如下所示,也许有人可以告诉我应该添加什么来使中断可达:

代码语言:javascript
复制
#region :buy <item>

case "buy":
    string Item = stringManager.wrapParameters(args, 1);

    if (Item == "bread") 
    {
        int foodfunds;
        int myfood;
        int foodCheck;
        int creditCheck;
        using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
            foodfunds = dbClient.getInt("SELECT credits FROM users WHERE name = '" + _Username + "'");
        using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
            myfood = dbClient.getInt("SELECT food FROM users WHERE name = '" + _Username + "'");
        if (foodfunds < 10)
        {
            Room.sendData("BK" + "Not enough cash.");
        }
        if (_roomID != 193)
        {
            sendData("BK" + "You must be in the supermarket to buy bread");
        }
        else
        {
            using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                dbClient.runQuery("UPDATE users SET food = food + 1 WHERE name = '" + _Username + "'");
            using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                foodCheck = dbClient.getInt("SELECT food FROM users WHERE name = '" + _Username + "'");
            using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                dbClient.runQuery("UPDATE users SET credits = credits - 10 WHERE name = '" + _Username + "'");
            using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient())
                creditCheck = dbClient.getInt("SELECT credits FROM users WHERE name = '" + _Username + "'");
            Room.sendShout(roomUser, "*Buys a loaf of bread and stashes in bag*");
            Room.sendSaying(roomUser, "(Now have: " + foodCheck + " loaves of bread)");
            Room.sendSaying(roomUser, "(Now have: " + creditCheck + " credits left)");
        }
        if (myfood > 255)
        {
            Room.sendData("BK" + "You cannot carry anymore food!");
        }
        break;
    }
#endregion
EN

回答 2

Stack Overflow用户

发布于 2013-02-25 11:42:57

该错误意味着在某些情况下break;不会被命中。

具体地说,if (Item == "bread")不是真的。

票数 6
EN

Stack Overflow用户

发布于 2013-02-25 11:44:09

break移到最后一个}之外。使用您的代码,如果项目不是“面包”,则不会到达break

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15059719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档