簡體   English   中英

將對象轉換為列表<String>

[英]Converting Object to List<String>

我從ListBox的WPF附加行為中獲取所選項目的列表,如下所示:

  private void ListBoxSelectionChanged(object param)
    {
        var selectedItems = param;
        SelectedMItems = selectedItems.ToString().Split(',').ToList<string>();
        //Console.WriteLine(selectedItems.ToString());

    }

雖然它有效,但還有其他更好的方法。

SelectedItems屬性是一個IList ,所以我假設您的對象也是如此。

在這種情況下,最簡單的做到這兩個中的一個:

// If the list already contains strings
SelectedMItems = ((IList)selectedItems).Cast<string>().ToList();

// If the list contains other objects
SelectedMItems = ((IList)selectedItems).Cast<object>().Select(o => o.ToString()).ToList();

這樣的事情可能有用,為了“更安全”:

var items = param as ObservableCollection<string>;

或者甚至只是一個可枚舉的:

var items = param as IEnumerable<string>;

然后你有一個正確的項目集合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM