2009-11-24 89 views
0

如果我在PHP中有这样的数据结构,那么在C#中哪种数据结构最适合它?C#中这个数组的适当数据结构是什么?

 
$array = Array(
    [dummy1] => Array (
       [0] => "dffas", 
       [1] => "asdas2", 
       [2] => "asdasda" 
      ), 
    [dummy2] => Array (
       [0] => "asdasd", 
       [1] => "sdfsdfs", 
       [2] => "sdfsdf" 
      ) 
) 

依此类推。不过,我需要能够将数据添加到嵌套阵列上的苍蝇,像这样:

 
$array["dummy1"][] = "bopnf"; 

我试图用一个Hashtable,但是当我去hashtable.add(key,value),其中关键的是我的dummy1,和值是一个的数组元素,它会抛出一个错误,指出一个元素已经包含该键。

所以我在想一个哈希表不是解决这个问题的正确方法。

回答

2

例如,您可以使用Dictionary<string, List<string>>。所以,你可以这样做:

var dict=new Dictionary<string, List<string>>(); 
dict.add("dummy1", new List<string>() {"dffas", "asdas2", "asdasda"}); 
dict.add("dummy2", //etc...); 

,并添加数据:

dict["dummy1"].Add("bopnf"); 
+0

我字面上刚刚尝试过这种组合,并且即将补充它的工作,你击败了我。 如果有人知道任何更好的方法,那么请做后:) – Psytronic 2009-11-24 09:30:23

0

你得到的错误与哈希表的原因是因为每个键必须是唯一的,所以这是可能不是最好的办法,使用字典作为Konamiman解释将是最好的