Dim dict As New Dictionary(Of String, KeyValuePair(Of String, String))
dict.Add("key", New KeyValuePair(Of String, String)("value1","value2"))
我想将value2
作为列表。
答案 0 :(得分:0)
使用LINQ Extensions:
' 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()
对于KeyValuePair
x.Key
是“value1”而x.Value
是“value2”
请注意,在大Dictionary
上这会变得非常慢,并且可能有更好的方法来解决这个问题,但这需要有关实际用例的更多信息。