我想知道遵循一种模式或另一种模式在 C# 中构造唯一的对象列表是否会更快:
选项1
- 将所有项目添加到通用列表中
- 调用 list.Distinct 函数就可以了
选项 2
- 遍历每个项目
- 检查该项目是否已存在于列表中,如果不存在则添加它
我想知道遵循一种模式或另一种模式在 C# 中构造唯一的对象列表是否会更快:
选项1
选项 2
这是“我应该用鞋子还是砖头把钉子钉进木头”的问题之一。您应该为作业使用适当的数据结构,根据您“构建唯一的对象列表”的要求,HashSet<T>
该类满足。
如果您需要列表格式的项目,您可以随时致电ToList()
集合。
如果您担心查找独特项目的性能,请使用Dictionary<TKey, TVale>
. 此外,字典需要唯一的键,所以你永远不会有重复。