C# 在CheckedListBox中用选中的项目填充列表

C# 在CheckedListBox中用选中的项目填充列表,c#,.net,list,deprecated,checkedlistbox,C#,.net,List,Deprecated,Checkedlistbox,关于,我尝试在CheckedListBox中用选中的对象(整数)填充整数列表,如下所示: protected System.Windows.Forms.CheckedListBox channelCheckedListBox; private List<int> selectedChannels; //some code selectedChannels.AddRange(channelCheckedListBox.CheckedItems.OfType<int>

关于,我尝试在CheckedListBox中用选中的对象(整数)填充整数列表,如下所示:

protected System.Windows.Forms.CheckedListBox channelCheckedListBox;
private List<int>    selectedChannels;

//some code

selectedChannels.AddRange(channelCheckedListBox.CheckedItems.OfType<int>().ToList());
受保护的System.Windows.Forms.CheckedListBox通道CheckedListBox;
选择频道的私有列表;
//一些代码
selectedChannels.AddRange(channelCheckedListBox.CheckedItems.OfType().ToList());

然而,VisualStudio给了我一个错误。是我,还是type()的
方法折旧了?它似乎不存在于本文件中。如何使用.NET Framework 4以简洁的方式实现同样的功能?

of type应该仍然可用,而且据我所知,在.NET Framework 4.5版中它没有被标记为过时。不过,它是一个扩展方法,因此您需要通过使用System.Linq添加
,在类中导入
System.Linq
名称空间
在您的课程中名列前茅,并确保将参考资料添加到您的项目中。

太好了,谢谢!我以前在原始问题中没有看到这一点。谢谢你的解释,我不知道扩展方法是一种东西。我必须等几分钟才能选择最佳答案。没问题!以下是Microsoft write up扩展方法:供进一步阅读。在公司框架中,它们对于常见任务非常有用。另一方面,它们很容易被过度使用,这会使现有的对象智能感知变得混乱。