首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#方法从List <T>中删除重复项

在C#中,从List<T>中删除重复项可以使用以下方法:

  1. 使用HashSet<T>
代码语言:csharp
复制
public static List<T> RemoveDuplicates<T>(List<T> list)
{
    HashSet<T> set = new HashSet<T>(list);
    return set.ToList();
}
  1. 使用LINQ
代码语言:csharp
复制
using System.Linq;

public static List<T> RemoveDuplicates<T>(List<T> list)
{
    return list.Distinct().ToList();
}
  1. 使用for循环
代码语言:csharp
复制
public static List<T> RemoveDuplicates<T>(List<T> list)
{
    for (int i = 0; i< list.Count; i++)
    {
        for (int j = i + 1; j< list.Count; j++)
        {
            if (list[i].Equals(list[j]))
            {
                list.RemoveAt(j);
                j--;
            }
        }
    }
    return list;
}
  1. 使用Dictionary<TKey, TValue>
代码语言:csharp
复制
public static List<T> RemoveDuplicates<T>(List<T> list)
{
    Dictionary<T, bool> dict = new Dictionary<T, bool>();
    List<T> result = new List<T>();

    foreach (T item in list)
    {
        if (!dict.ContainsKey(item))
        {
            dict.Add(item, true);
            result.Add(item);
        }
    }

    return result;
}

以上方法均可以从List<T>中删除重复项。其中,使用HashSet<T>和LINQ的方法是最简单和最高效的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券