我有一个X类型的列表.X是一个属性级别类。 现在,在一个事件中,我需要将CheckedListBox选择的项目放入另一个列表中。
如何获得输出......? 我试过的代码如下所示......
public void Initialize(List<X> x1)
{
chkList.DataSource = x1;
chkList.DisplayMember = "MeterName"; // MeterName is a property in Class X
chkList.ValueMember = "PortNum"; // PortNum is a property in Class X
}
private void Click_Event(object sender, EventArgs e)
{
List<X> x2 = new List<X>();
// Here I want to get the checkedListBox selected items in x2;
// How to get it...???
}
答案 0 :(得分:16)
您可以尝试以下
List<X> x2 = chkList.CheckedItems.OfType<X>().ToList();
或作为对象施放
List<object> x2 = chkList.CheckedItems.OfType<object>().ToList();
答案 1 :(得分:1)
我得到了答案
private void Click_Event(object sender, EventArgs e)
{
List<X> x2 = new List<X>();
foreach (X item in chkList.CheckedItems)
{
x2.Add(item);
}
}
答案 2 :(得分:1)
这是一种适合我的方式:
List<X> x2 = new List<X>();
x2 = chkList.CheckedItems.Cast<X>().ToList();
答案 3 :(得分:0)
string[] miList = chkList.CheckedItems.OfType<object>().Select(li => li.ToString()).ToArray();
答案 4 :(得分:0)
这是另一个选项
List<X> lst = new List<X>(chkList.CheckedItems.Cast<X>());