我有任务要通过它的string属性快速查找对象。目的:
class DicDomain
{
public virtual string Id{ get; set; }
public virtual string Name { get; set; }
}为了存储我的对象,我现在使用ListT字典,其中T是DicDomain。我有5-10份这样的名单,每一份都有500-20000份。任务是按其名称查找对象。我现在使用下一个代码:
List<T> entities = dictionary.FindAll(s => s.Name.Equals(word, StringComparison.OrdinalIgnoreCase));我有几个问题:
我的搜索速度是最佳的。我想现在。
我对这些任务没有多少经验。你能给我好的建议来提高业绩吗?谢谢
发布于 2010-05-27 07:59:01
如果您经常执行此操作,则可以构建一个Dictionary<string, List<DicDomain>> (或者Dictionary<string, DicDomain> (如果Name是唯一的)来构建反向映射(从名称到一组DicDomain对象),并保持字典的最新更新。
之后,任务将是一个简单的哈希表查找:
var list = dictionary[name];https://stackoverflow.com/questions/2919354
复制相似问题