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的代码
foreach (object obj in h.Keys) { if (h[obj] == o) { //找到了一个 } }
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好些。没有装箱封箱的操作。
Hashtable table = new Hashtable(); object whatYouWant; //你要的值存这里 foreach (string key in table.Keys) { if (table[key].Equals(whatYouWant)) { //此处的key就是你要的,但是可能不唯一,你要是只需要第一个,就break,否则你可以把key存起来然后继续循环 } }
特定值 string svar;
for(int i=0;i<dir.keys;i++)
{
if(dir[dir.keys[i]]==svar)
{
console.writeline(dir.keys[i]);
}
}
这样循环判断正确吗?
for(int i=0;i <dir.keys
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的代码
{
if (h[obj] == o)
{
//找到了一个
}
}
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好些。没有装箱封箱的操作。
object whatYouWant; //你要的值存这里 foreach (string key in table.Keys)
{
if (table[key].Equals(whatYouWant))
{
//此处的key就是你要的,但是可能不唯一,你要是只需要第一个,就break,否则你可以把key存起来然后继续循环
}
}