2017-02-25 38 views
0

我有一个复杂的List数据结构,我想填充,但我似乎不能找到一种方法来给它种子值。我如何填充这个复杂的列表?

List<Dictionary<List<int>, int>> l1 = new List<Dictionary<List<int>, int>>(); 

我想是这样的,

l1.add((1,2,3), 6); 

我想补充数和总数的列表。

+2

使用列表作为字典的密钥类型罕是有道理的,因为两个清单完全相同的内容将不会被认为是相同的。请多说一些关于你的实际任务是什么以获得一个好的答案。 – NineBerry

+0

@NineBerry即使可以使用自定义比较器创建词典... – 2017-02-25 18:08:25

+0

基本上@NineBerry我的任务是查找数组中最大增加子序列的总和,并打印该子序列。 – user7334855

回答

0

真的不知道你为什么这样做,但如果你真的要

var list = new List<Dictionary<List<int>, int>>(); 
list.Add(new Dictionary<List<int>, int> {{ new List<int> { 1, 2, 3 }, 6}}); 
+0

谢谢,这是非常需要的。 – user7334855

0

我怀疑你真的需要列表的字典的列表。不过,你可以写一些类型的扩展方法:

public static ListHelpers 
{ 
    public void AddSum(this List<Dictionary<List<int>, int>> list, params int[] values) 
    { 
     list.Add(new Dictionary<List<int>, int> { values.ToList(), values.Sum() }); 
    } 
} 

然后使用它:

l1.AddSum(1, 2, 3);