And*_*kov 3 .net c# optimization
我有通过其字符串属性快速查找对象的任务.宾语:
class DicDomain
{
public virtual string Id{ get; set; }
public virtual string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
为了存储我的对象,我使用List [T]字典,其中T现在是DicDomain.我有5-10个这样的列表,每个列表包含大约500-20000.任务是按名称查找对象.我现在使用下一个代码:
List<T> entities = dictionary.FindAll(s => s.Name.Equals(word, StringComparison.OrdinalIgnoreCase));
Run Code Online (Sandbox Code Playgroud)
我有一些问题:
我的搜索速度是否最佳.我想现在.
我对这些任务没什么好处.你可以给我一些提高性能的好建议吗?谢谢
如果您经常执行此操作,则可以构建一个Dictionary<string, List<DicDomain>>(或者Dictionary<string, DicDomain>如果Name是唯一的)来构建反向映射(从名称到一堆DicDomain对象)并使该字典保持最新.
在此之后,任务将是一个简单的哈希表查找:
var list = dictionary[name];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
673 次 |
| 最近记录: |