当前位置:编程学习 > C#/ASP.NET >>

关于Switch的问题,求大神解决。

public static List<Book> GetbookList() {
           
            //得到所有字母为A的城市名称,ID,PY,简写,
            List<Book> list_A = new List<Book>();
            List<Book> list_B = new List<Book>();
            List<Book> list_C = new List<Book>();
            List<Book> list_D = new List<Book>();
            List<Book> list_E = new List<Book>();
            List<Book> list_F = new List<Book>();
            List<Book> list_G = new List<Book>();
            List<Book> list_H = new List<Book>();
            List<Book> list_I = new List<Book>();
            List<Book> list_J = new List<Book>();
            List<Book> list_K = new List<Book>();
            List<Book> list_L = new List<Book>();
            List<Book> list_M = new List<Book>();
            List<Book> list_N = new List<Book>();
            List<Book> list_O = new List<Book>();
            List<Book> list_P = new List<Book>();
            List<Book> list_Q = new List<Book>();
            List<Book> list_R = new List<Book>();
            List<Book> list_S = new List<Book>();
            List<Book> list_T = new List<Book>();
            List<Book> list_U = new List<Book>();
            List<Book> list_V = new List<Book>();
            List<Book> list_X = new List<Book>();
            List<Book> list_Y = new List<Book>();
            List<Book> list_Z = new List<Book>();
            List<Book> list_W = new List<Book>();

            DataTable dr = DBHELP.SelectTable(@"select fid,Id,Name,CHName,Url,BriefName  from dbo.D_Region_Dictionary
 where status=4 and isbroad=0 and depth>1 and depth<=3
order by depth");
            //循环放入list集合中
            foreach (DataRow item in dr.Rows)
            {
                Book bk = new Book();
                bk.ID = Convert.ToInt32(item["ID"]);
                bk.BriefName = item["BriefName"].ToString();
                bk.CHName =  item["CHName"].ToString();
               //判断如果城市拼音首字母为A的,进行显示。
                switch (bk.CHName.Substring(0, 1))
                {
                    case "a":
                       list_A.Add(bk);
                       break;
                    case "b":
                       list_B.Add(bk);
                       break;
                    case "c":
                       list_C.Add(bk);
                       break;
                    case "d":
                       list_D.Add(bk);
                       break;
                    case "e":
                       list_E.Add(bk);
                       break;
                    case "f":
                       list_F.Add(bk);
                       break;
                    case "g":
                       list_G.Add(bk);
                       break;
                    case "h":
                       list_H.Add(bk);
                       break;
                    case "i":
                       list_I.Add(bk);
                       break;
                    case "j":
                       list_J.Add(bk);
                       break;
                    case "k":
                       list_K.Add(bk);
                       break;
                    case "l":
                       list_L.Add(bk);
                       break;
                    case "m":
                       list_M.Add(bk);
                       break;
                    case "n":
                       list_N.Add(bk);
                       break;
                    case "o":
                       list_O.Add(bk);
                       break;
                    case "p":
                       list_P.Add(bk);
                       break;
                    case "q":
                       list_Q.Add(bk);
                       break;
                    case "r":
                       list_R.Add(bk);
                       break;
                    case "s":
                       list_S.Add(bk);
                       break;
                    case "t":
                       list_T.Add(bk);
                       break;
                    case "u":
                       list_U.Add(bk);
                       break;
                    case "v":
                       list_V.Add(bk);
                        break;
                    case "w":
                       list_W.Add(bk);
                       break;
                    case "x":
                       list_X.Add(bk);
                        break;
                    case "y":
                      list_Y.Add(bk);
                       break;
                    case "z":
                      list_Z.Add(bk);
                       break;
                    default:
                         break;

                }  
            }
            return null; --------------------编程问答-------------------- 我要怎么得到switch 选中的值,然后进行返回呢? --------------------编程问答-------------------- 求大神解决哦,大神在哪里。 --------------------编程问答-------------------- 在哪里呀,在哪里。 0 0来人哦。 --------------------编程问答-------------------- 没明白... --------------------编程问答-------------------- case 中不是有了么 --------------------编程问答--------------------
引用 4 楼  的回复:
没明白...


我想得到 switch选中的值。然后返回某个list_xx.add(bk); --------------------编程问答-------------------- 看了一下你的 代码,是在比较 雷人啊, 

参数只能 返回一个。

结果你创建了 26个 list

所以 唯一的方法,你要飞的用 26个list存储 那你只能用 

Dictionary<int,List<Book>> 或 Dictionary<string,List<Book>> 作为返回类型了 


Dictionary<int,List<Book>>  int 可以为 book.ID;
Dictionary<string,List<Book>> string 可以为 book.Name;

随你了

你要去不返回只能用这个 方法。

最后 你在 循环体里 也就是   dictionary.Add(T , list) ;

这个 能解决你想要的。

--------------------编程问答-------------------- 还好只是26个字母,老外太伟大了,英文又一次完胜中文啊。 --------------------编程问答-------------------- 我也不想的。 - -循环语句我没写出来,我要把A-Z中国的所有省市显示出来,然后进行分类显示。但是我不能操作jquery,只能在后台去控制,而且我们这是用模板生成页面的。 --------------------编程问答-------------------- 用Dictionary<string,List<Book>>=new Dictionary<string,List<Book>>();
string 存储城市首字母,List存储城市Name --------------------编程问答-------------------- 你要的 代码我给你啦 ,你没有看吗 还是怎么 Dictionary<T,V> 不会用还是怎么。

你要返回列表还要那么多个 LIST 没有办法 你的代码只能用 字典带,要不就换 方式实现了。 --------------------编程问答--------------------
引用 7 楼  的回复:
看了一下你的 代码,是在比较 雷人啊, 

参数只能 返回一个。

结果你创建了 26个 list

所以 唯一的方法,你要飞的用 26个list存储 那你只能用 

Dictionary<int,List<Book>> 或 Dictionary<string,List<Book>> 作为返回类型了 


Dictionary<int,List<Book>>  int 可以……

补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,