c# - ¿Lanzando un ListBox.SelectedObjectCollection a un ListBox.ObjectCollection?
collections casting (5)
¿Es posible lanzar un ListBox.SelectedObjectCollection a un ListBox.ObjectCollection en C #? Si es así, ¿cómo lo haré?
Esto no es posible.
En cambio, debes usar un IList
.
Ambos tipos implementan IList
, por lo que puede pasar cualquiera como IList
sin ninguna conversión explícita.
Si realmente lo deseaba, podría crear una nueva ListBox.ObjectCollection
y agregar los elementos de SelectedObjectCollection
.
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);
}
Tengo una función que acepta List<string>
.
Puedo pasar tanto Selected Items como Items lanzándolos.
Prueba esto:
SelectedItems.Cast<string>().ToList()
Items.Cast<string>().ToList()
<string>
podría reemplazarse con algún otro tipo de objeto.
Aquí está mi respuesta: está funcionando para mí.
System.Windows.Forms.ListBox.SelectedObjectCollection lst =this.lstImage.SelectedItems;
List<string> selectedItems = new List<string>();
foreach (object obj in lst)
{
selectedItems.Add(obj.ToString());
}
Esta es mi respuesta que usé para convertir el cuadro de lista Comprobado en el cuadro de lista
CheckedListBox.CheckedItemCollection s= checkedListBox1.CheckedItems;
List<object> ns = new List<object>();
foreach (object ob in s)
{
ns.Add(ob);
}
listBox1.Items.AddRange(ns.ToArray());