上古卷轴5黑暗血统剑:请问C#中的INT大于小于格式是如何写的?

来源:百度文库 编辑:高校问答 时间:2024/05/10 23:34:58
代码如下:
using System;
class xunhuan
{
public static void Main()
{
bool c;
string a;
Console.WriteLine("Please input a number!");
a=Console.ReadLine();
int b = Convert.ToInt32(a);
if (b > 100)
{
Console.WriteLine("您输入的数字大于100");
}
else
{
switch (c)
{
case 0<b<60:
Console.WriteLine("不及格!");
break;
case 60<=b<75:
Console.WriteLine("及格!");
break;
case 75<=b<85:
Console.WriteLine("良好!");
break;
case 85<=b<=100:
Console.WriteLine("优秀!");
break;
default:
Console.WriteLine("error!");
break;
}
}
}
}
总是出现问题:
xunhuan.cs(19,22): error CS0019:
运算符“<”无法应用于“bool”和“int”类型的操作数
xunhuan.cs(22,23): error CS0019:
运算符“<”无法应用于“bool”和“int”类型的操作数
xunhuan.cs(25,22): error CS0019:
运算符“<”无法应用于“bool”和“int”类型的操作数
xunhuan.cs(28,22): error CS0019:
运算符“<=”无法应用于“bool”和“int”类型的操作数

请问这个是怎么回事啊?

我以前也遇到过这样的问题.楼上的答案是有问题的.

C#的SWITCH中CASE后面不支持表达式.
而且CASE后的条件返回BOOL类型.所以你不能用
case 60<=b<75:或者 case b>=85 and b<=100:
这样的表达式.
只可以写成这样:
case 60:
case 75:
上面你这种条件建议你用IF嵌套.

呵呵.是不是感觉C#的SWITCH很烂呢?

85<=b<=100
要写成b>=85 and b<=100
其它的也一样

C#中大于小于符号没有与错:

注意switch的用法
switch(变量类型)
{
case 值1://值必须与变量类型相同
break;
case 值2://值必须唯一;true/false只有两个值所以行不通
break;
}

建议用if 语句做判断