我想把这行代码从 php 翻译成 asp.net
$subid[$value['parentid']][] = $value['id'];
我不熟悉asp.net数据结构,我试过arraylist但不能在[1]插入,字典不允许重复键,有人有想法吗?
谢谢
您可以使用字典稍作调整来实现您想要的。
你创建一个这样的字典:
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"});
}
如果您要求某个键,它将返回对包含所有相关项目的列表的引用。
我不熟悉 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);