Jan*_*cci 0 c# switch-statement
我有一个枚举定义如下:
public enum CrystalTypeEnum { Red, White, Blue, Green };
Run Code Online (Sandbox Code Playgroud)
我有一个静态函数,它返回给定枚举值的字符串表示形式:
public static string toString(CrystalTypeEnum type)
{
switch (type)
{
case CrystalTypeEnum.Red:
return "Red";
case CrystalTypeEnum.White:
return "White";
case CrystalTypeEnum.Blue:
return "Blue";
case CrystalTypeEnum.Green:
return "Green";
}
}
Run Code Online (Sandbox Code Playgroud)
当我编译我的代码时,我收到以下错误:
CrystalType.toString(CrystalType.CrystalTypeEnum):并非所有代码路径都返回值
当我的switch语句明确涵盖所有四种情况(红色,白色,蓝色,绿色)时,为什么会出现此错误.
您需要指定默认部分.
switch (type)
{
case CrystalTypeEnum.Red:
return "Red";
case CrystalTypeEnum.White:
return "White";
case CrystalTypeEnum.Blue:
return "Blue";
case CrystalTypeEnum.Green:
return "Green";
default:
//return what you need here
}
Run Code Online (Sandbox Code Playgroud)
如果没有default:控制转移到switch语句之外(对于未由case处理的值).这意味着如果你没有a,default:那么在switch之后需要一个return语句,它返回由方法的返回类型定义的类型的值.