类似于下面这个switch语句,怎么写?switch (col)
{
case 0: return a;
case 1: returnb;
case 2: return c;
case ( col> 25 && col< 46 && col % 2 ==0 ): return d;
case ( col> 25 && col< 46 && col % 2 !=0 ): return e;
case 46: return f;
default: throw new Exception ("out of index");
}
我这个编译的时候出错误。不能将int转换成bool
{
case 0: return a;
case 1: returnb;
case 2: return c;
case ( col> 25 && col< 46 && col % 2 ==0 ): return d;
case ( col> 25 && col< 46 && col % 2 !=0 ): return e;
case 46: return f;
default: throw new Exception ("out of index");
}
我这个编译的时候出错误。不能将int转换成bool
解决方案 »
- [WinForm]请问——怎么做出类似DNS劫持的效果
- rdlc报表打印出来的东西不完整
- 想请教一下WinForm 中的 Form_Load函数和他的构造函数 public Form()有什么区别?
- DirectX SDK完整版 为何没有C#帮助文档???
- CSC打包时出现找不到原有DLL
- 在vs 2008中 NavBar控件 根接点有连接时,子接点展不开????
- 串口通讯问题
- 请教:什么是托管应用程序,什么是非托管应用程序,“托管”这个概念是什么意思?
- 在线求解,很急,谢谢
- DataSet的Unique无效
- 未能在"设计"视图中打开,用引号将"<%%>"块括起来,该块用作属性值或用在<SELECT>元素中
- 急急,c#的textbox读txt文件时,怎么能一个一个显示?
col> 25 && col< 46 && col % 2 !=0 ):
换地方 在SWITCH之前做好这些
就没有简单易用的,写到switch中的方法么?
switch (col)
{
case 0: return a;
case 1: return b;
case 2: return c;
case 46: return f;
default:
if (col > 25 && col < 46 && col % 2 == 0) return d;
if (col > 25 && col < 46 && col % 2 != 0) return e;
throw new Exception("out of index");
}
这句话等同于(col> 25 && col< 46 && col) % 2 ==0
把col用来做与运算,所以提示 不能将int转换成bool 2. case 之后不能跟条件。
你可以把switch case 改成 if else
( col> 25 && col< 46 && col % 2 !=0 )
这2句返回的是bool类型啊 肯定会报错啊
if (col > 25 && col < 46 && col % 2 == 0) return d;
if (col > 25 && col < 46 && col % 2 != 0) return e;
个人认为像下面这样会更好点
if (col > 25 && col < 46)
{
if(col % 2 == 0)
{
return d;
} else {
return e;
}
}
switch (col)
{
case 0: return a;
case 1: returnb;
case 2: return c;
//case ( col> 25 && col< 46 && col % 2 ==0 ): return d;
//case ( col> 25 && col< 46 && col % 2 !=0 ): return e;
case 46: return f;
default:
if( col> 25 && col< 46 && col % 2 ==0 )
{}
elwe if( col> 25 && col< 46 && col % 2 !=0 )
{}
else
{
throw new Exception ("out of index");
}
}