Public _SecurityLevel As List(Of KeyValuePair(Of Integer, Integer))
Public Sub New()
_SecurityLevel.Add(New KeyValuePair(Of Integer, Integer)(1, 0))
_SecurityLevel.Add(New KeyValuePair(Of Integer, Integer)(2, 1))
_SecurityLevel.Add(New KeyValuePair(Of Integer, Integer)(3, 2))
_SecurityLevel.Add(New KeyValuePair(Of Integer, Integer)(4, 3))
_SecurityLevel.Add(New KeyValuePair(Of Integer, Integer)(5, 4))
_SecurityLevel.Add(New KeyValuePair(Of Integer, Integer)(6, 5))
End Sub
[我想指定键(4)时获得值(3)。
在找到它之前,我不想遍历整个KVP。
这可能吗?如果没有,我应该使用什么?
您可以使用LINQ来获得它:
Dim theValue As Integer = _SecurityLevel.Find(Function(kvp) kvp.Key = 4).Value
但是如果没有重复的键出现,我建议改用Dictionary
。
Dictionary
尝试一下:
Dim _SecurityLevel As New Dictionary(Of Integer, Integer)
_SecurityLevel.Add(1, 0)
_SecurityLevel.Add(2, 1)
_SecurityLevel.Add(3, 2)
_SecurityLevel.Add(4, 3)
_SecurityLevel.Add(5, 4)
_SecurityLevel.Add(6, 5)
Dim result As Integer
_SecurityLevel.TryGetValue(4, result)