【发布时间】:2018-11-20 17:55:37
【问题描述】:
我是学习 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;
}
它给了我这个 错误 (CS0151):switch 表达式或 case 标签必须是 bool、char、string、integral、enum 或相应的可为 null 类型(第 58 行)
仅供参考,我正在尝试在 rhinoceros3d 上使用 rhino 通用库来执行此操作。
而且,我一直在尝试寻找一个网站或论坛来学习 C#,我可以 问这样的问题。我最终来到了这里。 我认为这类问题很基础,但我找不到 资源,可以给我这个问题的答案。 看了几篇帖子,没找到类似的问题
如果有任何网站可以让人们快速回答我的问题,比如聊天室之类的, 请务必告诉我。
【问题讨论】:
-
Microsoft 为 C# 提供了一些很棒的 documentation。特别是对于Switch Statement。 :)
-
dotnetperls.com 是另一个很好的资源,其中包含 C# 编程基础示例。
标签: c# if-statement switch-statement