2011-09-26 97 views
1

只合并两个词典的键的最佳方法是什么?合并两个词典的键

例如,我们有:

private readonly IDictionary<string, string> _dictionary1= new Dictionary<string, string>{{"1","one"},{"2","two"}}; 
private readonly IDictionary<string, string> _dictionary2 = new Dictionary<string, string>(){{"3","three"}}; 

我想收到的包含列表{ “1”, “2”, “3”}。

+2

按特定顺序?重复删除? – Thilo

+0

http://msdn.microsoft.com/en-us/library/bb341731.aspx –

+0

@Thilo,没有特定的顺序,应删除重复项 –

回答

3

只是结合Key阵列:

var a = _dictionary1.Keys.Union(_dictionary2.Keys); 
1

唯一键使用Enumerable.Union()方法:

var mergedKeys = _dictionary1.Keys.Union(_dictionary2.Keys); 

使用Enumerable.Concat()方法,所有的键:

var mergedKeys = _dictionary1.Keys.Concat(_dictionary2.Keys);