说我有两个词典:
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.
我知道我可以在调用例程上转换返回,但这不是最好的解决方案。我不想返回包含值的自定义类。换句话说,我正在寻找一种方法来执行以下操作:
传入字典(Of Integer,字符串)并返回List(Of String )
同时,如果我传入一个字典(String,布尔),那么该函数应该返回List(布尔)
看起来这是不可能的,我要么必须使用class / struct,要么只是在调用例程中转换对象。只是想知道这个请求是否可行。
再次,谢谢!
答案 0 :(得分:3)
假设您正在使用.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
答案 1 :(得分:0)
您需要使用List(Of Object)
或ArrayList
,这或多或少相同。