Lia*_*iam 5 c# linq performance hashset c#-4.0
这在某种程度上与此(获取 C# 列表中的所有唯一项)问题有关。
上面的问题是在谈论一个简单的值数组。我有一个从第三方 Web 服务返回的对象:
public class X
{
public Enum y {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我有这些对象的列表,List<x> data;总共大约 100 条记录但可变。现在我想要属性列表中的所有可能值,y我想绑定它做一个CheckBoxList.DataSource(以防万一)。
如何最有效的方法来做到这一点?
我可以想到两种算法:
var data = HashSet<Enum> hashSet = new HashSet<Enum>(xs.Select(s => s.y));
chkBoxList.DataSource = data;
Run Code Online (Sandbox Code Playgroud)
或者
var data = xs.Select(s => s.y).Distinct();
chkBoxList.DataSource = data;
Run Code Online (Sandbox Code Playgroud)
我的直觉是 HashSet 但我不是 100% 确定。
如果有人有任何想法,可以接受更好的想法吗?