0

假设我有两个字典:

Dim dict1 as new dictionary(Of Integer, String)
Dim dict2 as new dictioanry(Of customType, customtype2)

我想将它们转换为方法中的列表并返回争论的字典值类型的列表。所以....

Public Function DictToListConverter(ByVal argDict as Dictionary(Of Object, Object), ByVal argType as Type) **What goes here.

我知道我可以在调用例程上强制返回,但这不是最好的解决方案。我不想返回包含值的自定义类。换句话说,我正在寻找一种方法来执行以下操作:

传入 dictionary(Of Integer, String ) 并返回 List(Of String )

同时,如果我传入一个字典(字符串,布尔值),那么函数应该返回 List(布尔值

看起来这是不可能的,我要么必须使用类/结构,要么只是在调用例程中转换对象。只是想验证此请求是否可行。

再次,谢谢!

4

2 回答 2

2

假设您使用的是 .Net 3.5 或更高版本,您可以使用以下方法执行此操作...

Public Function DictToListConverter(Of TKey, T)(dict As Dictionary(Of TKey, T)) As List(Of T)
    Return dict.Select(Function(i As KeyValuePair(Of TKey, T)) i.Value).ToList()
End Function
于 2013-02-21T15:06:57.653 回答
0

您需要使用List(Of Object), 或ArrayList,它或多或少是相同的。

于 2013-02-21T14:36:26.360 回答