分配字典<int,list <string =“”>&gt;清空新声明的字典

时间:2016-10-28 15:49:09

标签: c# .net list dictionary

我有一个字典,如下所示:

var objListColor = new List<String>() { "Red", "Blue", "Green", "Yellow" };
var objListDirection = new List<String>() { "East", "West", "North", "South" };

var dictFrom = new Dictionary<int, List<String>>();
dictFrom.Add(1, objListColor);
dictFrom.Add(2, objListDirection);

我有另一个字典声明,如下所示:

var dictTo = new Dictionary<int, List<String>>();

我想用dictTo的键和值填充dictFrom。如何填充LINQ或C#?我想用foreach或for循环分配值和键。

2 个答案:

答案 0 :(得分:4)

字典有一个复制构造函数:

var dictTo = new Dictionary<int, List<String>>(dictFrom);

这会将dictFrom的内容复制到dictTo中。修改dictTo不会影响dictFrom(反之亦然),因为dictTo是一个实际的浅拷贝。

列表和其他一些集合具有类似的功能。

MSDN:https://msdn.microsoft.com/en-us/library/et0ke8sz(v=vs.110).aspx

答案 1 :(得分:4)

您可以使用接收另一个词典的Dictionary的构造函数:

var dictTo = new Dictionary<int, List<String>>(dictFrom);

请参阅MSDN https://msdn.microsoft.com/en-us/library/et0ke8sz(v=vs.110).aspx