![](/img/trans.png)
[英]C# : How to add data data from a ListView control to a Dictionary
[英]How to get data from a ListView in Dictionary format in C# winforms
我有一個像ListView
控件
和Dictionary
Dictionary<String,List<String>> MyDict
我需要用ListView
數據填充字典
所以字典會像
{ "S.No." { "1","2","3" } }
{" A" {"A1", "", "" } }
{" B" {"B1", "B2", "" } }
{" C" {"C1", "C2", "C3" } }
使用嵌套的for循環我們可以做到這一點。 但是有什么辦法可以使用LINQ做到這一點嗎?
使用ToDictionary
方法:
Dictionary<string, List<string>> dict =
listView.Items
.Cast<ListViewItem>()
.ToDictionary(
item => item.Text,
item => item.SubItems
.Cast<ListViewItem.ListViewSubItem>()
.Select(subItem => subItem.Text)
.ToList());
編輯
好的,我誤解了這個問題……這應該可行:
Dictionary<string, List<string>> dict =
listView.Columns
.Cast<ColumnHeader>()
.ToDictionary(
c => c.Text,
c => listView.Items
.Cast<ListViewItem>()
.Select(i => i.SubItems[col.Index].Text)
.ToList());
(之所以有效,是因為索引0的子項實際上是擁有其他子項的子項)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.