首页 技术 正文
技术 2022年11月16日
0 收藏 500 点赞 3,967 浏览 2005 个字
public class Fun{
        public void IFNumberid(int flag) 
        {
              switch (flag)
         {
        case :
        Console.WriteLine("优秀");
        break;
        case :
         Console.WriteLine("良好");
          break;
        case :
          Console.WriteLine("一般");
          break;
        case :
           Console.WriteLine("不及格");
          break;
               default:
           Console.WriteLine("");
          break;
       } 
        }  

以上Case里面是一个有序的数字,处理方法见 switch中case如果是有序的话,如何处理

那么假如我们换成了以下的事例呢?

public class Fun{
        public void NameResult(String flag) 
        {
              switch (flag)
         {
        case "a":
        Console.WriteLine("优秀");
        break;
        case "张三":
         Console.WriteLine("良好");
          break;
        case "c":
          Console.WriteLine("一般");
          break;
        case "g":
           Console.WriteLine("不及格");
          break;
               default:
           Console.WriteLine("");
          break;
       }
        }  

这里的Case并不是一个有序的,那么我们利用数组索引的办法将并不可行,此时,则可以考虑使用Dictionary<Tkey, Tvalue>来实现Switch中Case的替换

public class Fun{
        public void NameResult(String flag) 
        {
          Dictionary<string, string> cl = new Dictionary<string, string>();
                     cl.Add("a","不及格");
                      cl.Add("张三","良好");
                      cl.Add("c","一般");
                      cl.Add("g","不及格");
         foreach (KeyValuePair<string, string> a in cl)
       {
              if(a.key==flag)
              {
                 Console.WriteLine(a.Value);
                 return ;           
              }
      }
         Console.WriteLine("");
        }
}

另外,很多时候,我们可能根据某个值直接去执行某个方法,这时,采用以上方法也是可行的,

  先声明一个委托

private delegate void EatDelegate();
     private void functionOne(){
        Console.WriteLine("优秀");
      }
    Dictionary<string, EatDelegate> cl = new Dictionary<string, EatDelegate>();
          cl.Add("a",functionOne);
        foreach (KeyValuePair<string, string> a in cl)
       {
              if(a.key==flag)
              {
                 a.Value();
                return;           
              }
      }        
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,992
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,506
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,349
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,134
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,766
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,844