C# 仅当有2个或多个指定项时,才迭代集合并删除重复项

C# 仅当有2个或多个指定项时,才迭代集合并删除重复项,c#,observablecollection,C#,Observablecollection,我有这样的收藏: List<string> names = new List<string> { "One", "Two" "One", "Three", "One", "One" }; 还有哪些更干净的选择?:) 提前感谢您。使用Linq: List<string> names = names.Distinct().ToList(); List name=names

我有这样的收藏:

List<string> names = new List<string> 
    {
      "One",
      "Two"
      "One",
      "Three",
      "One",
      "One"
    };
还有哪些更干净的选择?:)

提前感谢您。

使用Linq:

List<string> names = names.Distinct().ToList();
List name=names.Distinct().ToList();

为什么需要检查它是否包含重复项?这一要求毫无意义:“如果只有一个项目,则删除重复项”,因此标题可以简化为“删除重复项”。有许多重复项,如或。是否确实需要删除重复项?有一个称为“distinct”的概念,它在列表上迭代,只返回现有值一次
var distinctNames=新哈希集(名称)
List<string> names = names.Distinct().ToList();