2011-07-05 38 views
14

Cách chuyển đổi ListItemCollection (DropDownList.items) thành Dictionary<String, String> (Tôi biết nó có thể được thực hiện thông qua mỗi vòng lặp) có cách nào khác không?làm thế nào để chuyển đổi ListItemCollection (dropdownlist.items) thành một từ điển <string, string>?

+2

Ngoài các câu trả lời đã đúng: Các liên kết MSDN tương ứng http://msdn.microsoft.com/en-us/library/system.linq.enumerable.todictionary.aspx (vì tôi đã tìm nó) –

Trả lời

25

Bạn có thể sử dụng LINQ:

collection.Cast<ListItem>().ToDictionary(i => i.Value, i => i.Text); 

Nó không ngay lập tức biết những gì loại của mặt hàng đó là, vì thế mà phương pháp đúc (ít nhất là IntelliSense không đưa nó lên cho tôi). Nhưng ToDictionary() sẽ đưa bạn đến đó và chỉ định bất cứ điều gì bạn muốn làm khóa và giá trị.

HTH.

5

Xem this question:

var result = 
    dropdownlist.items.Cast<ListItem>() 
        .ToDictionary(item => item.Value, 
           item => item.Text, 
           StringComparer.OrdinalIgnoreCase); 
Các vấn đề liên quan