【发布时间】:2013-05-17 09:42:01
【问题描述】:
这是一个随机返回 +1 或 -1 的小函数
public static int PlusOrMinus()
{
int chance = MyRandom.Random.Next(0, 2);
switch (chance)
{
case 0:
return -1;
case 1:
return 1;
}
}
编译器告诉我并非所有代码路径都返回值。就我而言,它不可能有机会不是 0 或 1。
您必须始终为这样的 switch 语句包含一个默认情况才能编译吗?
【问题讨论】:
-
编译器不知道这是不可能的!你总是需要一个默认值。
-
@Rikalous 你不需要默认值,return 语句可以在 switch 之外。
-
当然可以换成
return MyRandom.Random.Next(0,2) == 0 : ? -1 : 1;
标签: c# .net random switch-statement