加入两本词典

ale*_*dru 1 c# linq

嗨我有两个字典,我需要找到一种方法将它们连接在一起.这是两种字典类型.

IDictionary<string, byte[]> dictionary1
IDictionary<IFileShareDocument, string> dictionary2
Run Code Online (Sandbox Code Playgroud)

在这两个词典中,我必须创建一个看起来像这样的第三个字典

IDictionary<IFileShareDocument, byte[]> dictionary3
Run Code Online (Sandbox Code Playgroud)

两个字典都具有完全相同的项目数,并且它们的字符串属性是链接点.

我想要的是能够写出像这样做的东西:

dictionary1.value join with dictionary2.key
where dictionary1.key == dictionary2.value

This statement should result in dictionary3.
Run Code Online (Sandbox Code Playgroud)

有什么方法可以实现这一点我似乎找不到办法做到这一点?

Kin*_*ing 5

var dictionary3 =
    dictionary1
        .Join(dictionary2, x => x.Key, x => x.Value, (x, y) => new { x, y })
        .ToDictionary(a => a.y.Key, a => a.x.Value);
Run Code Online (Sandbox Code Playgroud)