Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么不是';我的if语句是否在switch语句中工作?_C# - Fatal编程技术网

C# 为什么不是';我的if语句是否在switch语句中工作?

C# 为什么不是';我的if语句是否在switch语句中工作?,c#,C#,我需要做一个给学生考试打分的程序。我试图找到一种使用循环的方法,而不是写出很多变量。我想我可以使用一个switch语句,然后在里面放一个if语句 例如,在循环中,如果学生对问题1的答案等于c,则在计数器中加1,但由于某种原因,我的代码不起作用 int计数器=0; 弦图坦斯; 对于(int i=1;i您的代码有许多问题,但回答问题本身,i是一个数字,而不是一个字符。请将您的开关大小写改为以下内容: case 1: // not '1' 这将突出显示下一个问题,在默认情况下,您缺少一个break;

我需要做一个给学生考试打分的程序。我试图找到一种使用循环的方法,而不是写出很多变量。我想我可以使用一个
switch
语句,然后在里面放一个
if
语句

例如,在循环中,如果学生对问题1的答案等于
c
,则在计数器中加1,但由于某种原因,我的代码不起作用

int计数器=0;
弦图坦斯;

对于(int i=1;i您的代码有许多问题,但回答问题本身,
i
是一个数字,而不是一个字符。请将您的开关大小写改为以下内容:

case 1: // not '1'

这将突出显示下一个问题,在默认情况下,您缺少一个
break;

有两个错误:每个开关情况都需要一个break语句。然后i是一个数字,但您将其视为一个char。因为int和char之间有一个自动转换,所以代码会编译,但它永远不会碰到情况“1”,因为案例'1'等于ascii值'1'(49)Omg非常感谢我修复了它,现在它可以工作了,非常感谢您在那里有一个For/case反模式。请看,,,啊…案例的捕捉很好。。。