これは、この ( C# リスト内の一意のアイテムをすべて取得する) の質問に何らかの形で関連しています。
ただし、上記の質問は値の単純な配列について話しています。サード パーティの Web サービスから返されたオブジェクトがあります。
public class X
{
public Enum y {get; set;}
}
これらのオブジェクトのリストがありList<x> data;
、合計で約 100 のレコードがありますが、可変です。ここで、プロパティのリストに可能なすべての値が必要でy
あり、これをバインドしたいと考えていますCheckBoxList.DataSource
(違いが生じる場合)。
これを行う最も効率的な方法は?
2 つのアルゴリズムを考えることができます。
var data = HashSet<Enum> hashSet = new HashSet<Enum>(xs.Select(s => s.y));
chkBoxList.DataSource = data;
または
var data = xs.Select(s => s.y).Distinct();
chkBoxList.DataSource = data;
私の直感は HashSet ですが、100% 確信はありません。
誰かがアイデアを持っている場合、より良いアイデアを受け入れますか?