0

我想把这行代码从 php 翻译成 asp.net

$subid[$value['parentid']][] = $value['id'];

我不熟悉asp.net数据结构,我试过arraylist但不能在[1]插入,字典不允许重复键,有人有想法吗?

谢谢

4

2 回答 2

0

您可以使用字典稍作调整来实现您想要的。

你创建一个这样的字典:

Dictionary<string, List<string>> myDictionary = new Dictionary<string, List<string>>();

您向其中添加项目,例如:

if(myDictionary.ContainsKey("myKey")) myDictionary["myKey"].Add("myItem");
else
{
myDictionary.Add("myKey", new List<string>(){"myItem"});
}

如果您要求某个键,它将返回对包含所有相关项目的列表的引用。

于 2012-10-15T09:27:17.883 回答
0

我不熟悉 PHP(不再)并且 SO 不是翻译服务,但您可以使用

或者

相反(假设您的 id 是整数)。


var list = new List<Tuple<int, int>>();
list.Add(Tuple.Create(1, 1));
list.Add(Tuple.Create(1, 2));
list.Add(Tuple.Create(2, 3));
list.Add(Tuple.Create(2, 4));
list.Add(Tuple.Create(3, 5));

有了Enumerable.ToLookup你可以创建一个Lookup.

var lookup = list.ToLookup(t => t.Item1, t => t.Item2);

查找 parent-id = 1 的所有产品:

var parentID1 = lookup[1];
foreach (var value in parentID1)
    Console.Write(value);
于 2012-10-15T09:08:06.287 回答