Vb.net 如何将键对中的值转换为列表?

Vb.net 如何将键对中的值转换为列表?,vb.net,Vb.net,我想以列表的形式获取value2。使用LINQ扩展: Dim dict As New Dictionary(Of String, KeyValuePair(Of String, String)) dict.Add("key", New KeyValuePair(Of String, String)("value1","value2")) 对于KeyValuePairx.Key是“value1”,而x.Value是“value2” 请注意,在大的字典上,这将变得非常缓慢,可能有更好的方法来处

我想以列表的形式获取
value2

使用LINQ扩展:

 Dim dict As New Dictionary(Of String, KeyValuePair(Of String, String))
 dict.Add("key", New KeyValuePair(Of String, String)("value1","value2"))
对于
KeyValuePair
x.Key
是“value1”,而
x.Value
是“value2”


请注意,在大的
字典上,这将变得非常缓慢,可能有更好的方法来处理这一问题,但这需要更多关于实际用例的信息。

您想从整个字典中获取value2吗?是的,正是…tolist。我想您已经知道,VB中的Linq。您是否尝试过使用-dict.Values.Select(x=>x.Value).Tolist()thx alot!!它起作用了!!我如何在字典中用value1检索value2。可能吗?@erolcimes你是说你想要一个基于什么是KeyValuePair.Key(value2)的KeyValuePair.Value(value2)列表吗?我想通过在字典中搜索value2来查找所有的value1。Dim list=dict.Values。Where(function(v)v.Value==valuetobefound)。ToList()。Select(x=>x.Key).ToList()
Dim list=dict.Values.Where(function(k)k.Value=“value2”).选择(function(v)v.Key.ToList()
x.Key
为值1,
x.Value
为值2
' use KeyValuePair of dictionary, that gives 2 levels of KeyValuePairs
Dim list = dict.Select(function(kvp) kvp.Value.Value).ToList()

' Or use the Values part of Dictionary
Dim list = dict.Values.Select(function(v) v.Value).ToList()

' Adding some conditional and getting value1 instead:
Dim list = dict.Values.Where(function(k) k.Value = "value2").Select(function(v) v.Key).ToList()