正在从我的列表中删除降级

本文关键字:删除 降级 列表 我的 | 更新日期: 2023-09-27 17:58:34

嗨。我希望我能就我正在努力解决的问题征求一些建议。

我有一个超过一千个值的列表,有一些重复,不是完全重复,而是基于大小写的离散。例如,我会有

培训训练在同一列表中,或愿景和价值观远见和价值观

因此,在各种情况下,基于案例差异存在微小的差异。

我怎样才能去除这些"超额"值呢?

正在从我的列表中删除降级

使用Linq:

var listWithDups = new List<string>() = {"blah","Blah","etc","etc."};
var listWithoutDups = listWithDups.Distinct(StringComparer.CurrentCultureIgnoreCase).ToList();

在LinqPad:中尝试过

var list = new List<String> { "Hello", "World", "HELLO", "beautiful", "WORLD" };
var l = list.Distinct(StringComparer.CurrentCultureIgnoreCase).ToList();
Console.WriteLine(l);

我会将所有条目添加到哈希集

哈希集是一个集合,它最多存储添加到其中的每个项中的一个。您可以编写一个"忽略案例"的权益比较器,并将其传递给Hashset constructor。类似:

     var set = new Hashset( yourListWithDuplicates, (x,y) => x.Equals(y, 
StringComparison.CurrentCultureIgnoreCase));