2014-10-10 78 views
0

我遍历某些种类的数据集是这样的:收集藏品

for (...) 
{ 
var a=xxx; 
var b=yyy; 
var c=zzz; 
} 

我想这些变量插入到一个集合。 我需要的结果是:

myCollection["a"]={xxx1,xxx2,xxx3}; 
myCollection["b"]={yyy1,yyy2,yyy3}; 
myCollection["c"]={zzz1,zzz2,zzz3}; 

因此,在脸上,循环内部,伪代码将是这样的:

for (...) 
{ 
var a=xxx; 
var b=yyy; 
var c=zzz; 
myCollection["a"].append(a); 
myCollection["b"].append(b); 
myCollection["c"].append(c); 
} 

集合会像第一次迭代后:
myCollection["a"] = {xxx1};
第二次迭代后:
myCollection["a"]={xxx1,xxx2};

等...

我该如何实现这个目标?

回答

0

您可以使用Dictionary<TKey, TValue>类:

Dictionary<string, List<string>> myCollection = new Dictionary<string, List<string>>(); 
for (...) 
{ 
    if (!myCollection.ContainsKey("a")) 
     myCollection.Add("a", new List<string>()); 
    myCollection["a"].Add("some_item"); 
} 
+0

我希望能够追加项目到集合中的每次循环。 – Lior 2014-10-10 23:43:35

+0

然后,您应该将回收的声明移到循环外部。 – Dmitry 2014-10-10 23:45:14

+0

这不是问题。问题是我无法将项目附加到数组。 – Lior 2014-10-10 23:45:58