请问在类似  hashtable 键值对类型集合 中,有什么方法可以根据值 去获取到键的信息啊?

解决方案 »

  1.   

    通过值并不能获得唯一的key类似的可以 Dictionary<> ……
      

  2.   

    我就是用的Dictionary <> ,该如何循环呢?我很菜,麻烦指点下。谢谢
      

  3.   

    hashtable .Keys 能取到其所有键值
      

  4.   

    是不是这样 Dictionary  <string,string> dir=new  Dictionary  <string,string>();
    特定值 string svar;
    for(int i=0;i<dir.keys;i++)
    {
       if(dir[dir.keys[i]]==svar)
    {
        console.writeline(dir.keys[i]);
    }
    }
    这样循环判断正确吗?
      

  5.   

    写的快了
    for(int i=0;i <dir.keys
    .count
      

  6.   

    用 break 就可以跳出循环
      

  7.   

    是for() 还是 foreach().到底该怎么写。我从没写过,写不出来。那个朋友给个循环比较的代码咯。谢谢啦!
      

  8.   

        Dim b As New System.Collections.Generic.Dictionary(Of String, Integer)
        Sub Main()
            Dim i As Integer = 20
            For j As Integer = 0 To i
                b.Add(j.ToString, j)
            Next
             End Sub
        Function getid(ByVal id As Integer) As String
            Dim key As String
            For Each key In b.Keys
                If id = b.Item(key) Then
                    Return key
                End If
            Next
            Return Nothing
        End Function
    'vb的代码
      

  9.   

     foreach (object obj in h.Keys)
                {
                    if (h[obj] == o)
                    {
                        //找到了一个
                    }
                }
      

  10.   


         Dictionary<int, int> myDic = new Dictionary<int, int>();
                myDic.Add(2, 66);
                myDic.Add(3, 77);
                myDic.Add(4, 88);
                int i = myDic[2];
                Console.WriteLine(i);通过键获取值。你要通过值获取键?这不是一对一对应的。如果通过值获取键。
    另外还使用dictionary好些。没有装箱封箱的操作。
      

  11.   

                Hashtable table = new Hashtable();
                object whatYouWant; //你要的值存这里            foreach (string key in table.Keys)
                {
                    if (table[key].Equals(whatYouWant))
                    {
                        //此处的key就是你要的,但是可能不唯一,你要是只需要第一个,就break,否则你可以把key存起来然后继续循环
                    }
                }
      

  12.   

    忘记了,你的key要不是string的话,把string换成你的key的类型