2

C#でListBox.SelectedObjectCollectionをListBox.ObjectCollectionにキャストすることは可能ですか? もしそうなら、どうすればいいですか?

4

5 に答える 5

10

を受け入れる関数がありますList<string>

SelectedItems と Items の両方をキャストすることで渡すことができます。

これを試して:

SelectedItems.Cast<string>().ToList()
Items.Cast<string>().ToList()

<string>他のオブジェクト タイプに置き換えることができます。

于 2012-09-28T07:19:14.040 に答える
4

これは不可能です。

代わりに、を使用する必要がありますIList
これらの型はどちらも を実装しているため、明示的なキャストを行わなくてもIList、いずれかを として渡すことができます。IList

本当に必要な場合は、新しいListBox.ObjectCollectionを作成して から項目を追加できますSelectedObjectCollection

于 2010-11-02T03:29:05.210 に答える
1

これが私の答えです:それは私のために働いています。

System.Windows.Forms.ListBox.SelectedObjectCollection lst  =this.lstImage.SelectedItems;
List<string> selectedItems = new List<string>();

foreach (object obj in lst)
{
    selectedItems.Add(obj.ToString());
}
于 2011-05-04T11:42:19.923 に答える
0
  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);
    }  
于 2012-02-28T06:07:17.277 に答える