首页 > 解决方案 > 具有多个输入的 X++ 开关盒

问题描述

有没有像 C# 那样创建具有多个变量的开关的方法?像这样的东西..

 switch((_dim1,_dim2,_dim3))
 {
        case(1, ""):
            Info("1 is null");
        case (2, ""):
            Info("2 is null");
        case (3, ""):
        break;
 }

标签: axaptax++

解决方案


自 1.0 版(+23 年)以来,可以使用多个参数进行切换。它需要使用容器。没有不关心的价值。

以下作业演示:

static void TestConSwitch(Args _args)
{
    int dim1 = 2;
    str dim2 = '';    
    switch ([dim1, dim2])
    {
        case [1, '']:
            info("Case 1");
            break;        
        case [2, '']:
            info("Case 2");
            break;
        default:
            info("Default!");
    }
}

在这种情况下显示“情况 2”。

也就是说,它的性能可能不是很好,因为它需要为目标值和所有案例值(如果不匹配)构建容器。不过看起来有点整洁。


推荐阅读