解决方案 »

  1.   

    贴完全一点hhh
      

  2.   

    能把代码写在switch的case标签之外?这是什么语言?
      

  3.   

    手打手误,Response.Write("<br/>"+key+"    "+ht[key]);应该紧随在foreach语句。
      

  4.   

    手打手误,Response.Write("<br/>"+key+"    "+ht[key]);应该紧随在foreach语句。
    你这个swich完全没起作用啊.直接break了,什么都没处理.
      

  5.   

    foreach(string key in ht.keys){
        switch(key){
            case "title":
            Response.Write("<br/>"+"title    "+ht["title"]);
    break;
            case "account":Response.Write("<br/>"+"account"+ht["title"]);break;
            case "ip":break;
            case "account":Response.Write("<br/>"+"ip"+ht["title"]);break;
            case "port":break;
            case "description":break;
            case "files":break;
            default:break;
        }
    }
    swich语句就相当于一组if语句,跟if语句用法是一样的,你把代码写到if语句外面,怎么可能有结果
      

  6.   

    1、因为是手打 ,省略了这些东西,实际代码是lb_account.Text =  ht["account"]之类的控件赋值语句。
    2、重点不在语法问题,而是这样的逻辑编写会出现逻辑错误:
           title account 等字段直接在foreach中无法读取--实际是存在的。PS:希望各位大大,在恢复前请测试一下,创建项目-->几行代码-->F5运行
      

  7.   

    1、因为是手打 ,省略了这些东西,实际代码是lb_account.Text =  ht["account"]之类的控件赋值语句。
    2、重点不在语法问题,而是这样的逻辑编写会出现逻辑错误:
           title account 等字段直接在foreach中无法读取--实际是存在的。PS:希望各位大大,在恢复前请测试一下,创建项目-->几行代码-->F5运行
    你真可爱,比起你的代码我更愿意相信微软的代码质量。要么你直接拿出一个可复现错误的小例子,要么还是歇了吧,先去学学怎么问问题。
      

  8.   

    Hashtable不是这么用的。还Hashtable是直接用键值来找对应的值。找不到它会自动返回null.
    Hashtable是一种高效的存储机制,可以避免顺序查找。你还switch还case.那用hashtabl干什么 
      

  9.   

    这是一个项目中的一段代码;
    从数据库中读取一个账号的信息:account、title、description、ip、port、files用hashtable存储并返回;
    显示到界面上,我优先选择使用foreach + switch语句,图省事;
    遇到问题后直接使用键值读取,没有问题了。PS:我发的探讨贴,讨论foreach + switch语句对hashtable数据集的影响;
            不是提问帖,所以七楼的那货@wddw1986给我滚!