[英]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.