从强制转换为List的ListView列中删除重复项

本文关键字:删除 ListView 转换 List | 更新日期: 2023-09-27 18:12:26

被困在一些应该很简单的东西上,有人能看到问题吗?

的想法是这样的:我有一个列在ListView,我正在转换为一个列表,我只想要不同的(没有重复)值…

我认为这应该工作,但我得到所有的值,包括重复的:

List<string> list = new List<string>();
list.AddRange(listView1.Items.Cast<ListViewItem>().Select(lvi => lvi.SubItems[2].Text.Distinct().ToString()));

从强制转换为List的ListView列中删除重复项

var uniqueStrings = listView1.Items
  .Cast<ListViewItem>()
  .GroupBy(lvi => lvi.SubItems[2].Text)
  .Select(g => grp.First().SubItems[2].Text)
  .ToList();

尝试使用集合而不是列表,HashSet会很好,它不会有重复。