如果我在PHP中使用了这个数据结构,那么在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)
,其中key是我的dummy1
,而value是其中一个数组元素时,它会抛出一个错误,指出一个元素已经包含了键。
所以我认为散列表不是解决这个问题的正确方法。
答案 0 :(得分: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");
答案 1 :(得分:0)
你获得哈希表错误的原因是因为每个键都需要是唯一的,所以这可能不是最好的方法,使用字典作为Konamiman解释是最好的