C# switch 学习
有一个题目:设计一个程序,要求输入年龄,显示该年龄是:老人(60以上)、中年人(30-60)、青年(18-30)、未成年人(18以下)。我想用swithc()多分支选择结...
有一个题目:设计一个程序,要求输入年龄,显示该年龄是:老人(60以上)、中年人(30-60)、青年(18-30)、未成年人(18以下)。
我想用 swithc() 多分支选择结构,请教各位大侠该怎么做?(Help?!)
我现在做好的代码:
string strPersonType="";
int intAge;
console.WriteLine("你输入你的年年龄(岁):");
intAge=int.Parse(console.ReadLine());
switch(intAge)
{
case 常量表达式1 : strPersonType="你是未成年人!";break:
case 常量表达式2 : strPersonType="你是青年人!";break:
case 常量表达式3 : strPersonType="你是中年人!";break:
case 常量表达式4 : strPersonType="你是老年人!";break:
default :break:
}
console.WriteLine(strPersonType);
console.ReadLine();
上面空白的常量表达式不怎么写,请高手指点
可在VB中 select 多分支就可以如下操作:
select case intAge
case intAge>60:
strPersonType="老年人"
case intAge>30 and intAge<=60 :
strPersonType="中年人"
case intAge>18 and intAge<=30:
strPersonType="青年人"
else
strPersonType="未成年人"
end select
我想可不可以类似操作,我觉得 if () {} else if (){} …… 太麻烦了 展开
我想用 swithc() 多分支选择结构,请教各位大侠该怎么做?(Help?!)
我现在做好的代码:
string strPersonType="";
int intAge;
console.WriteLine("你输入你的年年龄(岁):");
intAge=int.Parse(console.ReadLine());
switch(intAge)
{
case 常量表达式1 : strPersonType="你是未成年人!";break:
case 常量表达式2 : strPersonType="你是青年人!";break:
case 常量表达式3 : strPersonType="你是中年人!";break:
case 常量表达式4 : strPersonType="你是老年人!";break:
default :break:
}
console.WriteLine(strPersonType);
console.ReadLine();
上面空白的常量表达式不怎么写,请高手指点
可在VB中 select 多分支就可以如下操作:
select case intAge
case intAge>60:
strPersonType="老年人"
case intAge>30 and intAge<=60 :
strPersonType="中年人"
case intAge>18 and intAge<=30:
strPersonType="青年人"
else
strPersonType="未成年人"
end select
我想可不可以类似操作,我觉得 if () {} else if (){} …… 太麻烦了 展开
8个回答
展开全部
我用switch都是写死的
switch (obj)
{
case "1":
break;
}
switch (obj)
{
case "1":
break;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 switch case 只能对离散的值进行判断。在case处只能写常量。
2 与C,C++ 不同,C#中的switch不允许遍历,必须在每个case后面加break或者goto的语句,否则编译不会通过。
3 值得注意的一点:C#是可以把字符串当常量处理的,这个和C和C++是有区别的。
所以switch()括号中的控制可以是string类型的。
4 在极特殊的情况下,当好几个case的处理方式是一样的时候,可以采取下面的形式:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 转义字符
{
class Program
{
static void Main(string[] args)
{
int i = Int32.Parse(Console.ReadLine());
switch(i)
{
case 1:
Console.WriteLine("haha");
break;
case 2:
case 3:
case 4:
case 5:
Console.WriteLine("heihei");
break;
default:
Console.WriteLine("NO");
break;
}
}
}
}
这里的case等于2,3,4,5的处理方式是一样的。
5 default:后也需要break;
6 switch语句一般都可以用if重写,但是if语句不一定能用switch重写。
2 与C,C++ 不同,C#中的switch不允许遍历,必须在每个case后面加break或者goto的语句,否则编译不会通过。
3 值得注意的一点:C#是可以把字符串当常量处理的,这个和C和C++是有区别的。
所以switch()括号中的控制可以是string类型的。
4 在极特殊的情况下,当好几个case的处理方式是一样的时候,可以采取下面的形式:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 转义字符
{
class Program
{
static void Main(string[] args)
{
int i = Int32.Parse(Console.ReadLine());
switch(i)
{
case 1:
Console.WriteLine("haha");
break;
case 2:
case 3:
case 4:
case 5:
Console.WriteLine("heihei");
break;
default:
Console.WriteLine("NO");
break;
}
}
}
}
这里的case等于2,3,4,5的处理方式是一样的。
5 default:后也需要break;
6 switch语句一般都可以用if重写,但是if语句不一定能用switch重写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
确实需要用if else
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询