• 欢迎加入论坛官方QQ群:576877264 免责声明:本站资源均为用户上传,请自行查验文件是否含有病毒,论坛不对病毒文件造成的损失负任何责任。
  • 如果各位有MC开服(原版、插件、模组)、泰拉瑞亚开服、建站或者购置服务器需求的话,可以联系QQ2941719865,特别便宜,论坛也在用~

C# 递归模式 对开发便携程度的提升

  • 主题发起人 主题发起人 ji233
  • 开始时间 开始时间

ji233

管理员
管理成员
2024 · 中秋
请看下面一段错误的代码:
C#:
ulong f(int n)=>n switch{1 => n ; _ => f(x-1)+1};
请问,错在哪?

由于f()的类型为ulong,而n的类型为int,结合后面的1=>n,我就是把n的值赋值给了f()。C#作为强类型编程语言,这是绝对不允许的。

这是C#的一个新特性,同时也是Lambda表达式的一个新功能 -- 递归模式。
以上代码改正确后,实际上等价于一个递归函数,相比直接写,方便了不少
(我猜不少人不知道XD)
 
请看下面一段错误的代码:
C#:
ulong f(int n)=>n switch{1 => n ; _ => f(x-1)+1};
请问,错在哪?

由于f()的类型为ulong,而n的类型为int,结合后面的1=>n,我就是把n的值赋值给了f()。C#作为强类型编程语言,这是绝对不允许的。

这是C#的一个新特性,同时也是Lambda表达式的一个新功能 -- 递归模式。
以上代码改正确后,实际上等价于一个递归函数,相比直接写,方便了不少
(我猜不少人不知道XD)
厉害,对于一个学python的表示看不懂
 
后退
顶部