switch case语句总执行第一个case

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了switch case语句总执行第一个case相关的知识,希望对你有一定的参考价值。

你的代码逻辑是错误的,从你现在的代码逻辑只能猜出你是想实现根据下拉菜单不同的选择后自动跳转到相应的页面,如果是这样的话那么你的这个for循环就是完全没有必要的!
本身选的这个DropDownList控件的SelectIndexChanged事件就已经能够知道现在选择的是哪个下拉列表项的Index索引值,
然后直接case当前下拉列表的SelectIndex值就行了
也就是
switch()

case 1:
Response.Redirect("metal0.aspx");
break;
case 2:
Response.Redirect("wood.aspx");
break;
case 3:
Response.Redirect("china.aspx");
........
参考技术A 首先switch进来之后,如果Row==1(判断语句),执行该句:printf("已执行case1"),接下来执行:Row=Row+1(这句完全没有实际意义,因为你的case里面不带break语句,即使没有这句Row=Row+1的情况下也是执行完了printf("已执行case1")之后顺序往下跳到case 2里面执行),相同的在case 2里面先执行:printf("已执行case2"),再执行: Row=Row+1(无意义),再接着跳到case 3里面先执行:printf("已执行case3"),再执行 Row=Row+1(无意义),最后跳到default 里面执行。 参考技术B 当i=0时 什么也不执行
当 i=1时 页面直接跳转到metal0.aspx 后面当然不执行了。

我想你的需求是这样 根据不同的选择索引 跳转不同的界面 这么做
switch(dropType.SelectedIndex)

case 1:
...break;
....
追问

已经照大神说的改过来了,但是运行的时候不但不跳转至case中的任何一个页,反而刷新本身的页面,怎么解决,望大神指点!

追答

case 1:
Reponse.Write("window.open("a.aspx")");
break;

或者干脆用js 在dropType增加onchange事件 根据选择项的不同 跳转不同的页面

本回答被提问者和网友采纳
参考技术C 给你举个例子int dropIndex=dropType.SelectIndex 然后再switch()...case...

C# 语句 分支语句 switch----case----.

第二种分支语句  switch..case.

 

switch(一个变量)
{
 case 值:要执行的代码段;break;
 case 值:要执行的代码段;break;
 ...
 ...
 ...
 default:要执行的代码段;break;
 

   //default可有可无,对应else

}

   ●switch case 必须与 break 一同使用。break是跳转语句。与switch case连用的时候是跳出最近的{}。

   ●若case后面接收的是字符串类型(string),需要:case “1”:

   ●default相当于else。

   ●switch case 类型一定可以转换成 if else 类型,相反,则不一定。

   ●switch case多用于日期的计算

switch...case... 可以嵌套if...else...

    switch(一个变量)
    {
      case 值:
       if(  )

       {

         要执行的代码段;

       }

       else

      {

        要执行的代码段;

       }

     break;

 

      case 值:要执行的代码段;break;
      ...
      ...
      ...
     default:要执行的代码段;break;
    }

 

练习题

   分别输入月份,几号。输出是今年的第多少天。(每年的1 3 5 7 8 10 12月是31天,今年的2月是28天,其他的4 6 9 11是30天)

Console.Write("请输入月份:");

            int a = int.Parse(Console.ReadLine ());

 

            Console.Write("请输入几号");

 

            int b = int.Parse(Console.ReadLine ());

 

            switch (a)

 

            {

 

                case  1:

 

                    Console.WriteLine("第"+b+"天");

 

                    break;

 

                case 2:

 

                    Console.WriteLine("第" + (a1+b) + "天");

 

                    break;

 

                case 3:

 

                    Console.WriteLine("第" + (a1+a2+b) + "天");

 

                    break;

 

                case 4:

 

                    Console.WriteLine("第" + (a1 + a2 + a3 + b) + "天");

 

                    break;

 

                case 5:

 

                    Console.WriteLine("第" + (a1 + a2 + a3 + a4+ b) + "天");

 

                    break;

 

                case 6:

 

                    Console.WriteLine("第" + (a1 + a2 + a3 + a4 + a5 + b) + "天");

 

                    break;

 

                case 7:

 

                    Console.WriteLine("第" + (a1 + a2 + a3 + a4 + a5 + a6 + b) + "天");

 

                    break;

 

                case 8:

 

                    Console.WriteLine("第" + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + b) + "天");

 

                    break;

 

                case 9:

 

                    Console.WriteLine("第" + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + b) + "天");

 

                    break;

 

                case 10:

 

                    Console.WriteLine("第" + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + b) + "天");

 

                    break;

 

                case 11:

 

                    Console.WriteLine("第" + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10 + b) + "天");

 

                    break;

 

                case 12:

 

                    Console.WriteLine("第" + (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8 + a9 + a10 + a11 + b) + "天");

 

                    break;

 

                default :

 

                    Console.WriteLine("输入错误");

 

                    break;

 

            }

 

            Console.ReadLine();

 

以上是关于switch case语句总执行第一个case的主要内容,如果未能解决你的问题,请参考以下文章

switch case的用法

switch 语句中当执行完一个case后还能执行另一个case么

switch语句的执行过程

java基础第四天

C语言的switch语句中case后()

Java条件语句之 switch