![](/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.