91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c#中去重函數有哪些實現方式

c#
小樊
89
2024-09-20 07:09:38
欄目: 編程語言

在C#中,有多種方法可以實現去重。以下是一些常見的實現方式:

  1. 使用HashSet類: HashSet是一個無序且不包含重復元素的集合。你可以將需要去重的元素添加到HashSet中,最后得到的集合就是去重后的結果。
public static List<T> RemoveDuplicates<T>(List<T> list)
{
    HashSet<T> set = new HashSet<T>(list);
    return new List<T>(set);
}
  1. 使用Dictionary<TKey, TValue>類: Dictionary<TKey, TValue>是一個鍵值對集合,它不允許包含重復的鍵。你可以將需要去重的元素作為鍵添加到Dictionary中,最后得到的鍵值對集合就是去重后的結果。
public static List<T> RemoveDuplicates<T>(List<T> list)
{
    Dictionary<T, object> dict = new Dictionary<T, object>();
    List<T> result = new List<T>();

    foreach (T item in list)
    {
        if (!dict.ContainsKey(item))
        {
            dict[item] = null;
            result.Add(item);
        }
    }

    return result;
}
  1. 使用LINQ(Language Integrated Query): LINQ提供了一種簡潔的方法來實現去重。你可以使用Distinct()方法對集合進行去重。
public static List<T> RemoveDuplicates<T>(List<T> list)
{
    return list.Distinct().ToList();
}
  1. 使用循環和foreach: 你也可以使用循環和foreach遍歷列表中的元素,將不重復的元素添加到新的列表中。
public static List<T> RemoveDuplicates<T>(List<T> list)
{
    List<T> result = new List<T>();

    foreach (T item in list)
    {
        bool isDuplicate = false;

        foreach (T existingItem in result)
        {
            if (existingItem.Equals(item))
            {
                isDuplicate = true;
                break;
            }
        }

        if (!isDuplicate)
        {
            result.Add(item);
        }
    }

    return result;
}

這些方法都可以實現去重功能,你可以根據具體需求和場景選擇合適的方法。

0
潞西市| 临漳县| 永泰县| 曲周县| 湘乡市| 南川市| 乐业县| 永新县| 长海县| 朔州市| 昌都县| 丰顺县| 和平区| 修文县| 克山县| 西乡县| 婺源县| 呈贡县| 循化| 和顺县| 武平县| 同仁县| 星座| 盱眙县| 宜章县| 连州市| 宁乡县| 遂平县| 凤山县| 荆门市| 蕲春县| 蓬莱市| 绥滨县| 嘉善县| 油尖旺区| 拉萨市| 郸城县| 营口市| 江川县| 沂水县| 泾阳县|