将ListBox.SelectedObjectCollection转换为ListBox.ObjectCollection?

是否可以将ListBox.SelectedObjectCollection转换为C#中的ListBox.ObjectCollection? 如果是这样,我该怎么做呢?

我有一个接受List的函数。

我可以通过强制转换SelectedItems和Items来传递它们。

试试这个:

 SelectedItems.Cast().ToList() Items.Cast().ToList() 

可以替换为其他一些对象类型。

这是不可能的。

相反,您应该使用IList
这两种类型都实现了IList ,因此您可以将其中一个作为IList传递,而无需任何显式转换。

如果您真的想要,可以创建一个新的ListBox.ObjectCollection并添加SelectedObjectCollection的项。

这是我的答案:它对我有用。

 System.Windows.Forms.ListBox.SelectedObjectCollection lst =this.lstImage.SelectedItems; List selectedItems = new List(); foreach (object obj in lst) { selectedItems.Add(obj.ToString()); } 
  List YourDataTypeList = new List(); for (int i = 0; i < lbVectors.SelectedItems.Count; i++) { YourDataType v = lbVectors.SelectedItems[i] as YourDataType; YourDataTypeList .Add(v); } 

这是我用来将Checked列表框转换为列表框的答案

 CheckedListBox.CheckedItemCollection s= checkedListBox1.CheckedItems; List ns = new List(); foreach (object ob in s) { ns.Add(ob); } listBox1.Items.AddRange(ns.ToArray());