c# - 如何使用 C# 在 switch-case 条件下使用当前 case 语句的值跳转到另一个 case 语句

标签 c# .net silverlight switch-statement

如何使用当前 case 语句的值跳转到 switch-case 条件下的另一个 case 语句?

是否可以使用 switch case 来实现这种事情,或者是否有其他实现方式?

有可能实现吗?如果没有,那么还有其他方法可以实现吗?

最佳答案

此代码有效:

    switch (this.Name)
    {
    case "":
        if (this.Owner == null)
        {
            goto DoBill;
        }
        break;
    case "Bill":
    DoBill:
        break;
    }

但是,任何真正这样做的人都应该被枪毙。或者至少是非常严厉地交谈过。为什么不做明智的事情?

switch (param.Component.Type)
    {
        case "Combo":
            returnComboItemSelect = generateCB(param);
             if(returnComboItemSelect=="Slider")
             {
               returnSomething  = generateSl(param,returnComboItemSelect); //I mean no need to jump
             }
            break;                            
        case "List":
            returnSomething = generateL(param);
            break;
        case "Slider":
            returnSomething 
.....

说真的,如果您开始在 case 语句之间跳来跳去,那么您就不应该使用它们。我也不太喜欢上面的代码(重复,但有时......)

关于c# - 如何使用 C# 在 switch-case 条件下使用当前 case 语句的值跳转到另一个 case 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24085218/

相关文章:

c# - 从 MemberExpression 和 Constant 创建 Func<T, bool>

.NET - Queue.Enqueue 方法线程安全吗?

c# - Silverlight 应用程序的登录功能

silverlight - 创建样式以在后面的代码中旋转轴标签

银光。安全问题

c# - 安装在 Visual Studio 中创建的 Windows 服务

c# - jquery Ajax 调用仅触发一次

c# - AutoMapper ProjectTo<>() 找不到 map

c# - Linq 用表达式查询抽象,哪种方式更好?

c# - 允许来自同一电子邮件地址的多个帐户 WEB API ASP.NET IDENTITY