當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C# List和Set的區別用法及代碼示例


C# 中的列表與 JAVA 中的列表相同。本質上,它是一種可以存儲變量的對象類型。但與對象不同的是,它僅以特定的順序存儲變量。以下是我們可以聲明變量的語法:

用法:

List<int> numbers = new List<int>();

列表和數組之間的區別在於列表的大小是動態的。另一方麵,我們必須定義數組的大小。列表的初始化如下:

用法:

List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);

C#中的集合指的是HashSet。它是獨特元素的無序集合。它指的是 System.Collections.Generic 命名空間。主要用於當我們想要刪除列表中插入的重複元素時。以下是 HashSet 的聲明:

用法:

var set = new HashSet<string>(arr1);

要刪除重複元素,請將其設置為數組。

用法:

string[] arr2 = set.ToArray();

列表和集合的區別:

編號 基礎 List
1. Define 列表是一種存儲元素的數據結構。 集合也是一種數據結構,但存儲唯一的元素。
2. Sequence 元素的順序很重要。 順序並不重要,隻取決於實現。
3. 元素訪問 通過使用列表中元素的索引來訪問列表中的元素。 在集合中,元素是可以輕鬆訪問的索引。
4. 接口 Systems.Collection.IList 是可用於列表實現的接口。 Systems.Collection.ISet 是可用於 Set 實現的接口。
5. Implementation

它可以通過兩種方式實現:

  • 靜態列表(使用數組)
  • 動態列表(使用LinkedList)

也可以通過兩種方式實現:

  • HashSet(哈希表)
  • 排序集(基於紅黑樹)
6. 表裏不一 該列表可以有重複的元素。 集合僅包含唯一元素。
7. 表現 List的性能不如Set。 集合比列表具有更好的性能。
8. 方法

清單上有多種方法可供申請。其中一些如下:

  • int 添加(元素)
  • 無效插入(int,元素)
  • 無效Clear()
  • int IndexOf(元素)

有許多方法可應用於 Set。其中一些如下:

  • 布爾添加(元素)
  • 布爾包含(元素)
  • 布爾刪除(元素)
  • 無效Clear()

相關用法


注:本文由純淨天空篩選整理自itskawal2000大神的英文原創作品 Difference Between List and Set in C#。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。