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

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

主站蜘蛛池模板: 国产在线观看片免费人成视频 | 97精品国产一区二区三区 | 日韩99在线一级 | 国产精品视频免费一 | 国产精品任我爽爆在线播放 | 亚洲人色大成年网站在线观看 | 天天综合网日韩欧美影视导航 | 欧美日本一区二区三区在线 | 免费国产人做人视频在线观看 | 日韩欧美综合在线另类 | 欧美中日韩免费观 | 97国产在线视频公开免费 | 国产一区二区精品久电影 | 99久在线观 | 最新md传 | 中文字幕一区二区三区四区五区 | 午夜激情视频三区在线 | 在线看片国产日韩欧美亚洲 | 欧美乱妇高清视频免欢看关 | 欧美囗交xx×b | 日韩一区国产二区欧美三 | 国内精品尹人香蕉综合在线观看 | 国产精品激情偷乱一区二区∴ | 中文字幕精品二区 | 国产高清视频在线免费观看 | 老司机91精品网站在线观看 | 亚洲天堂一区 | 国产精品国产午夜免费看福利 | 国产超级在线视频观看 | 一级视频在线播放 | 天堂tv亚洲tv日本tv不卡 | 亚洲裸男gv网站 | 国产精品亚洲欧美 | 日韩欧美国产动漫在线 | a在线视频播放观看免费观看 | 日本中文字幕乱码视频在线 | 性午夜视频在线观看 | 最新在线精品国自产拍网站 | 自拍影视亚洲高清 | 欧美性色生活免费观看 | 国产熟女一区二区三区浪潮 |