如何从具有键值对和VB.Net的特定键中获取值?

问题描述 投票:0回答:2
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。

这可能吗?如果没有,我应该使用什么?

vb.net key-value
2个回答
1
投票

您可以使用LINQ来获得它:

Dim theValue As Integer = _SecurityLevel.Find(Function(kvp) kvp.Key = 4).Value

但是如果没有重复的键出现,我建议改用Dictionary

Dictionary

0
投票

尝试一下:

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)
© www.soinside.com 2019 - 2024. All rights reserved.