日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 集(HashSet)

admin
2025年3月23日 7:45 本文熱度 276

在 C# 中,集合是一種非常重要的數據結構,它用于存儲一組唯一的元素。HashSet<T> 是一種基于哈希表的集合數據結構,它提供了高效的元素查找、添加和刪除操作。HashSet<T> 是無序的,并且不允許重復的元素,這使得它在某些場景下非常有用。

創建 HashSet

要創建一個 HashSet,您需要引入 System.Collections.Generic 命名空間:

using System.Collections.Generic;

// 創建一個空的 HashSet
HashSet<int> numbers = new HashSet<int>();

添加元素

使用 Add 方法向 HashSet 中添加元素:

namespace AppHashSet
{
    internal class Program
    {

        static void Main(string[] args)
        
{
            // 創建一個空的 HashSet
            HashSet<int> numbers = new HashSet<int>();
            numbers.Add(1);
            numbers.Add(2);
            numbers.Add(3);

            // 嘗試添加重復的元素,將不會被添加到集合中
            bool isAdded = numbers.Add(2); // 返回 false,因為 2 已經存在

            // 輸出numbers中的元素
            foreach (int number in numbers)
            {
                Console.WriteLine(number);
            }
        }
    }
}

刪除元素

使用 Remove 方法從 HashSet 中刪除元素:

bool isRemoved = numbers.Remove(2); // 返回 true,如果元素存在并且被移除

檢查元素是否存在

使用 Contains 方法檢查 HashSet 中是否包含某個元素:

bool contains = numbers.Contains(2); // 返回 false,因為 2 已經被移除

遍歷 HashSet

使用 foreach 循環遍歷 HashSet 中的元素:

foreach (int number in numbers)
{
    Console.WriteLine(number);
}

HashSet 的操作

HashSet<T> 提供了一些強大的集合操作,例如并集、交集、差集和對稱差集。

并集(Union)

namespace AppHashSet
{
    internal class Program
    {

        static void Main(string[] args)
        
{
            HashSet<int> setA = new HashSet<int> { 123 };
            HashSet<int> setB = new HashSet<int> { 345 };

            setA.UnionWith(setB); // setA 現在包含 { 1, 2, 3, 4, 5 }

            // 輸出結果
            foreach (int num in setA)
            {
                Console.WriteLine(num);
            }
        }
    }
}

交集(Intersect)

setA.IntersectWith(setB); // setA 現在包含 { 3 }

差集(Except)

setA.ExceptWith(setB); // setA 現在包含 { 1, 2 },因為這些元素在 setB 中不存在

對稱差集(SymmetricExcept)

setA.SymmetricExceptWith(setB); // setA 現在包含 { 1, 2, 4, 5 },因為這些元素只在一個集合中存在

性能注意事項

HashSet<T> 在處理大量數據時通常比 List<T> 更高效,因為它使用哈希表來存儲元素,這意味著它的添加、刪除和查找操作的平均時間復雜度為 O(1)。然而,這種效率是以犧牲順序和重復元素為代價的。

示例:使用 HashSet 過濾重復元素

假設我們有一個整數數組,我們想要移除所有重復的元素。

namespace AppHashSet
{
    internal class Program
    {

        static void Main(string[] args)
        
{
            int[] numbersArray = { 123245561 };
            HashSet<int> uniqueNumbers = new HashSet<int>(numbersArray);

            foreach (int number in uniqueNumbers)
            {
                Console.WriteLine(number);
            }
        }
    }
}

在這個例子中,我們使用 HashSet 的構造函數直接從數組中創建了一個集合,自動移除了所有重復的元素。然后我們遍歷這個集合,打印出唯一的元素。

總結

HashSet<T> 是 C# 中一個非常有用的集合類,適用于需要存儲唯一元素集合的場景。它提供了豐富的集合操作方法,可以很方便地進行并集、交集、差集和對稱差集等操作。在處理大量數據時,HashSet<T> 通常比其他集合類型更高效。通過上面的例子和說明,您應該對如何在 C# 中使用 HashSet 有了一定的了解。


閱讀原文:原文鏈接


該文章在 2025/3/24 16:49:58 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产亚洲欧美第一页在线观看 | 人在线观看青青 | 欧美日韩在线播放一区二区三区 | 亚洲欧美色一区二区三区精品 | 梦乃爱华作品在线观看播放 | 国产精品伦一区二区三级视频 | 99在线精品 | 一级一片一a一片 | 三级在线电影 | 精品福利一区二区三区免费视频 | 一区二区三中文 | 三年片在线观看直播 | 伊人影院视频 | 精品国产免费人成电影在线观看 | 亚洲色偷偷综合亚洲v | 亚洲国产精品综 | 97伦理电影在线不卡 | 国产精品欧美亚洲 | 久夜色精品国产一区二区三区 | 中文区永久区乱码六区 | 国产男人午夜视频在线观看 | 国产精品自产拍在 | 日韩精品男人的天堂 | 欧美三级韩国三 | 国产视频第一页bt天堂 | 国产精品人成 | 亚洲欧美在线精品一区二区 | 国产亚洲精品一区二区在线 | 91九色国产在线 | 午夜福利1000集合集92 | 亚洲高清国产一区二区三区电影 | 国产亚洲精品一级在线观看 | 欧美极品欧美精品欧美 | 婷婷综合缴情亚洲狠狠 | 亚洲中国中文字幕免费 | 国产欧美亚洲一区二区三区 | 亚洲一区在线免费 | 成年人午夜影院 | 91精品在| 国产精品探花一区在线观看 | 国产卡戴珊在线根本喂不饱2 |