中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何在c#中實現自定義的去重函數

c#
小樊
83
2024-09-20 07:26:47
欄目: 編程語言

在C#中,實現自定義的去重函數可以使用多種方法

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        int[] numbers = { 1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9, 9 };
        int[] uniqueNumbers = RemoveDuplicates(numbers);

        Console.WriteLine("Original array:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }

        Console.WriteLine("\nUnique array:");
        foreach (int number in uniqueNumbers)
        {
            Console.Write(number + " ");
        }
    }

    static int[] RemoveDuplicates(int[] numbers)
    {
        // 使用HashSet去重
        HashSet<int> uniqueNumbersSet = new HashSet<int>(numbers);
        int[] uniqueNumbersArray = uniqueNumbersSet.ToArray();

        return uniqueNumbersArray;
    }
}

在這個示例中,我們使用了HashSet類來實現去重。HashSet是一個無序且不包含重復元素的集合。首先,我們將原始數組轉換為HashSet,這將自動刪除所有重復元素。然后,我們將HashSet轉換回數組并返回結果。

如果你需要保留原始數組的順序,你可以使用以下方法:

static int[] RemoveDuplicates(int[] numbers)
{
    // 使用Dictionary去重并保留順序
    Dictionary<int, bool> uniqueNumbersDict = new Dictionary<int, bool>();

    foreach (int number in numbers)
    {
        if (!uniqueNumbersDict.ContainsKey(number))
        {
            uniqueNumbersDict[number] = true;
        }
    }

    int[] uniqueNumbersArray = uniqueNumbersDict.Keys.ToArray();
    return uniqueNumbersArray;
}

在這個示例中,我們使用了Dictionary類來實現去重。我們遍歷原始數組,并將每個元素添加到Dictionary中。如果元素已經存在于Dictionary中,我們跳過它。最后,我們將Dictionary的鍵轉換為數組并返回結果。這將保留原始數組的順序。

0
阳泉市| 汝城县| 卢龙县| 二手房| 德化县| 凤台县| 木兰县| 黑山县| 北京市| 郁南县| 安义县| 吉林省| 富宁县| 绍兴县| 饶河县| 安宁市| 莲花县| 天全县| 呼伦贝尔市| 永兴县| 温宿县| 北宁市| 明溪县| 绿春县| 镇安县| 正蓝旗| 常熟市| 福建省| 富锦市| 乌拉特中旗| 洞口县| 德化县| 张北县| 旬阳县| 资兴市| 宁波市| 疏附县| 金阳县| 浦城县| 通州区| 上犹县|