这在某种程度上与此相关(获取 C# 列表中的所有唯一项目) 问题。
上面的问题讨论的是一个简单的值数组。我有一个从第三方 Web 服务返回的对象:
public class X
{
public Enum y {get; set;}
}
我有这些对象的列表List<x> data;
,总共约 100 条记录,但可变。现在我想要属性列表中的所有可能值y
我想绑定这个做一个CheckBoxList.DataSource
(如果有影响的话)。
最有效的方法是如何做到这一点?
我能想到两种算法:
var data = HashSet<Enum> hashSet = new HashSet<Enum>(xs.Select(s => s.y));
chkBoxList.DataSource = data;
Or
var data = xs.Select(s => s.y).Distinct();
chkBoxList.DataSource = data;
我的直觉是 HashSet,但我不是 100% 确定。
如果有人有任何想法,欢迎更好的想法?
如果是一次性操作--使用。Distinct
。如果您要一次又一次地添加元素 - 使用HashSet
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)