c# – 尝试使用if语句的switch语句来找出哪个值更大或更小
我是学习c#(和任何编码语言)的初学者
我试图使用switch语句而不是if else. 这是if else语句 private void RunScript(int a,int b,ref object A) { if (a < b) { Print("a is smaller than b"); Print("b is bigger than a"); } else if (a > b) { Print("a is bigger than b"); Print("b is smaller than a"); } else { Print("a equals b"); } 这是我想要做的开关 private void RunScript(double a,double b,ref object A) { double whichIsBigger = a - b; //below is the 58th line switch (whichIsBigger) { case whichIsBigger < 0: Print("a is bigger than b"); break; case whichIsBigger > 0: Print("a is smaller than b"); break; default: Print("a equals b"); break; } 它给了我这个 仅供参考,我正在尝试使用rhino公共库在rhinoceros3d上执行此操作. 而且,我一直在努力寻找一个网站或论坛来学习c# 如果有任何网站可以让人们像聊天室一样快速回答我的问题, 解决方法
基本上,您正试图在案例陈述中运行评估.您必须先进行评估,并使用case语句中的值.
如果是真/假的情况,则不应使用开关.切换通常适用于有许多选项可能属实的情况.例如,如果你有一个包含多个值的枚举,并且你想为每个值做一些不同的事情(比如DayOfWeek.Monday,DayOfWeek.Tuesday等).因为你遇到这个问题的确切原因. 如果你真的想要,你可以创建一个ABCompare.Bigger,ABCompare.Smaller,ABCompare.Equal等类似的枚举,然后打开它 – 但这并没有多大意义. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |