公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

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

C# 集(HashSet)

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

在 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

主站蜘蛛池模板: 2025露脸国产偷人在视频 | 国产精品人妖 | 高潮毛片激情久久 | 国产精品一区二区国产在线观看 | 国产长筒袜在线第一页 | 国产精品视频一区二区噜噜 | 91在线免费观看网站 | 国产精品国语对白露脸在线播放 | 国产做无码视频在线观看 | 国产成人一区二区三区毛片 | a级毛片免费看久久 | 3d动漫精品一区视频 | 国产精品爆乳99 | 国产品九九久久久国产精品 | 国产成人精品日本亚洲直播 | 国产黄视频在线观看 | 国产精品成人一区二区三区电影 | 国产精品爽爽v在线观看无码 | 国产亚洲一区在线观看一区二区 | 国产精品国产国产aⅴ | 国产精品美女久久久网站动漫 | 国产精品免费a片 | 国产欧美日韩va另类在线播 | 国产午夜理论电影在线观看 | 国产精品青青草原免费无码 | 成人午夜精品久久久久久久 | 丰满人妻少妇久久久久久 | 91精品久久久久一区二区三区 | 国产精品麻豆99久久久久久 | 91大片淫黄大片在线天堂 | 3d动漫精品啪啪一区二区免 | 91精品国产乱码久久久久 | 高潮激情肉欲视频 | 精品亚洲a∨在线播放不卡 精品亚洲aⅴ无码午夜在线 | 国产炮机主播在线观看 | 国产精品亚洲综合天堂夜夜 | av三级片黄片在线播放 | 91麻精品国产91久久久久 | 国产精品无码中文字幕 | 国产福利爱福利微拍视频 | 国产毛a片啊久久久久久按摩 |