C# Switch 的使用与 Lua Switch的实现

本文探讨了C#中Switch语句的使用,包括传统的语法和18年更新后的语法糖,强调了其在代码简洁性和可读性上的提升。同时,介绍了在Lua中如何通过函数和表来模拟实现类似switch的功能,展示了两种语言在处理条件分支上的不同方式。

C#中Switch通常用于在内部中传入一个值并通过值的不同实现不同的功能,

switch(index)
{
    case 1:
    Debug.Log("1");
    brake;
    case 2:
    Debug.Log("2");
    brake;
    default:
    Debug.Log("传入的值未被case 记录时执行")
    brake;
}

而在18年的更新中Switch可以使用语法糖更便捷和直观的书写switch逻辑,


class t1Class
{
    int testValue01 = 10;
}
///////////////


class mainTest
{

    private int valueA = 0;
    private t1Class t1c;
    private void start()
    {
        t1c.testValue01 = 10;
        Debug.Log(valueA);

        valueA = t1c switch
        {
            1 => "10",
            10 => "1",
            _ => "无",
        }
        Debug.Log(valueA);
    }
}

通过=>的方式直接返回, _=>代替default。似乎必须有返回值。

而在lua中是没有switch语句的,想要在lua中实现switch的功能就需要在函数内创建一个table,然后通过key去查找并执行table里的方法。

function func1 (v1)
{
    
    local switch = 
    {
        [1] = CallFunc1(),
        [2] = CallFunc2(),
        [3] = CallFunc3()
    }
    
    if switch[v1] then
        switch[v1]()
    else
        print("没有这个键")
    end
}

function CallFunc1()
{
    print("方法2二和方法3不想打了")
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值