Можно ли преобразовать ListBox.SelectedObjectCollection в ListBox.ObjectCollection в C #? Если так, как бы я поступил об этом?
У меня есть функция, которая принимает List<string>.
List<string>
Я могу передать и SelectedItems и Предметы, разыгрывая их.
Попробуйте это:
SelectedItems.Cast<string>().ToList() Items.Cast<string>().ToList()
<string> можно заменить другим типом объекта.
<string>
Это невозможно.
Вместо этого вы должны использовать IList. Оба эти типа реализуют IList, поэтому вы можете передать любой из них как IList без явногокастинг.
IList
Если вы действительно хотите, вы можете создать новый ListBox.ObjectCollection и добавить предметы из SelectedObjectCollection.
ListBox.ObjectCollection
SelectedObjectCollection
Вот мой ответ: он работает для меня.
System.Windows.Forms.ListBox.SelectedObjectCollection lst =this.lstImage.SelectedItems; List<string> selectedItems = new List<string>(); foreach (object obj in lst) { selectedItems.Add(obj.ToString()); }
Это мой ответ, который я использовал для преобразования поля Проверено в поле списка
CheckedListBox.CheckedItemCollection s= checkedListBox1.CheckedItems; List<object> ns = new List<object>(); foreach (object ob in s) { ns.Add(ob); } listBox1.Items.AddRange(ns.ToArray());
List<YourDataType> YourDataTypeList = new List<YourDataType>(); for (int i = 0; i < lbVectors.SelectedItems.Count; i++) { YourDataType v = lbVectors.SelectedItems[i] as YourDataType; YourDataTypeList .Add(v); }