将vb.net中的两个词典与system.linq进行比较

时间:2015-07-02 14:49:11

标签: vb.net linq dictionary

您好我正在尝试比较两个vb.net词典以列出两个词典之间的区别。我导入了System.Linq和System.Collections.Generic。我的字典正在正确填充但是当我去比较两个字典时我得到以下错误

  

System.Linq.Enumerable + d__99`1 [System.String]

两个词典都包含相同的键只是不同的顺序我正在使用以下语句来比较(并获得例外)不确定我搞砸了什么(如果我这样做的话!)或者我出错的地方。但是,如果有人能指出我正确的方向,将非常感激。

Dim folder As New Dictionary(Of String, Integer)
Dim fdatabase As New Dictionary(Of String, Integer)
Dim different_files 
different_files = folder.Keys.Except(fdatabase.Keys)

1 个答案:

答案 0 :(得分:2)

System.Linq.Enumerable+d__99'1[System.String]也不例外。这是一种类型的名称。

您可能会在.ToString()的结果上调用folder.Keys.Except(fdatabase.Keys),也许是隐含的。

您发布的代码应该可以正常使用。

Dim folder = New Dictionary(Of String, Integer) From {{"Foo", 1}, {"Bar", 2}}
Dim fdatabase = New Dictionary(Of String, Integer) From {{"Foo", 1}, {"Buzz", 4}}

Dim different_files = folder.Keys.Except(fdatabase.Keys)
For Each key In different_files
    Console.WriteLine(key)
Next

将打印

  

酒吧

你可能没有正确处理你的结果。请启用OPTION STRICT ON;它会帮助你尽早发现错误。