【发布时间】:2017-03-11 13:28:56
【问题描述】:
我有一本字典,如下:
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>>();
我想用dictFrom 的键和值填充dictTo。如何使用 LINQ 或 C# 填充?我想用 foreach 或 for 循环分配值和键。
【问题讨论】:
-
它被称为复制构造函数,字典有一个。值得一提的是,它执行的是浅拷贝。执行这个:
var dictTo = new Dictionary<int, List<String>>(dictFrom); dictFrom[1][0] = null;然后查看dictTo的值 - 第一项中的第一个字符串将是null -
例如,你有两个字典。dictFrom 有 value 和 key。 var dictto = new Dictionary
>(); var dicfrom = new Dictionary >();如何使用复制构造函数用 dicFrom 填充 dictTo。 -
你不能......但是这样做的方法是一个完全不同的问题......
-
@Dvlpr 如果您有办法将
onemodelclass映射到differentmodelclass,那么您可以像var dictTo = dictFrom.Select(kvp => kvp.Key, kvp => kvp.Value.ConvertToDifferentModelClass())一样投影它
标签: c# .net list dictionary