【发布时间】:2013-10-21 03:28:57
【问题描述】:
我有一个包含类似 (listElement) 的元素的列表:{e1,e2,e3,e4,e5,e6,e7}
它们在列表列表(listOfList)中是这样的组: { {e1,e2,e3,e4}, {e1,e2,e3}, {e2,e3,e4}, {e1,e2}, {e2,e3}, {e3,e4}, {e5}, { e6,e7} }
我想要的是将列表放在字典中>>(dict)这样:
- 键,(值)
- e1, ({e1,e2,e3,e4},{e1,e2,e3},{e1,e2})
- e2, ({e1,e2,e3,e4},{e1,e2,e3},{e2,e3,e4},{e1,e2},{e2,e3})
- e3, ({e1,e2,e3,e4},{e1,e2,e3},{e2,e3,e4},{e2,e3},{e3,e4})
- e4, (({e1,e2,e3,e4},{e2,e3,e4},{e3,e4})
- e5, ({e5}) = e6, ({e6,e7})
现在我有这样的代码:
foreach (element in listElement){
var elementListOfList = listOfList,where(e=>e.countain(f));
dict[f.id] = elementListOfList;
}
问题是字典的构建真的太长了,因为我有大约 100 万个元素,但在字典中。
我知道使用 a for over a for each 可能是最好的,但我确信它可以做其他事情。
我的问题是有人有一个想法来优化字典的创建,和/或一些可以帮助我优化代码的网站或书籍?
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
哦,抱歉没有读到
标签: c# performance linq list dictionary