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

4316

被折叠的 条评论
为什么被折叠?



