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


C# SortedSet用法及代碼示例


SortedSet 類表示按排序順序的對象集合。此類位於 System.Collections.Generic 命名空間下。

特征:

  • 在 C# 中,SortedSet 類可用於存儲、刪除或查看元素。
  • 它保持升序並且不存儲重複元素。
  • 如果您必須存儲唯一元素並保持升序,建議使用SortedSet類。

Constructors

構造函數 說明
SortedSet() 初始化 SortedSet 類的新實例。
SortedSet(IComparer) 初始化使用指定比較器的 SortedSet 類的新實例。
SortedSet(IEnumerable) 初始化 SortedSet 類的新實例,其中包含從指定可枚舉集合複製的元素。
SortedSet(IEnumerable, IComparer) 初始化 SortedSet 類的新實例,該實例包含從指定可枚舉集合複製的元素並使用指定的比較器。
SortedSet(SerializationInfo, StreamingContext) 初始化包含序列化數據的 SortedSet 類的新實例。

例子:


// C# code to create a SortedSet 
using System; 
using System.Collections.Generic; 
  
class GFG { 
  
    // Driver code 
    public static void Main() 
    { 
  
        // Creating a SortedSet of integers 
        SortedSet<int> mySortedSet = new SortedSet<int>(); 
  
        // Adding elements in mySortedSet 
        for (int i = 1; i <= 6; i++) { 
            mySortedSet.Add(2 * i + 1); 
        } 
  
        // Displaying elements in mySortedSet 
        Console.WriteLine("The elements in mySortedSet are : "); 
  
        // Displaying the element in mySortedSet 
        foreach(int i in mySortedSet) 
        { 
            Console.WriteLine(i); 
        } 
    } 
} 
輸出:
The elements in mySortedSet are : 
3
5
7
9
11
13

Properties

屬性 說明
Comparer 獲取用於對 SortedSet 中的值進行排序的 IComparer 對象。
Count 獲取 SortedSet 中的元素數量。
Max 獲取 SortedSet 中由比較器定義的最大值。
Min 獲取 SortedSet 中由比較器定義的最小值。

例子:


// C# code to illustrate the properties 
// of SortedSet<T> Class 
using System; 
using System.Collections.Generic; 
   
class GFG { 
   
    // Driver code 
    public static void Main() 
    { 
   
        // Creating a SortedSet of integers 
        SortedSet<int> mySortedSet = new SortedSet<int>(); 
   
        // adding elements in mySortedSet 
        mySortedSet.Add(1); 
        mySortedSet.Add(2); 
        mySortedSet.Add(3); 
        mySortedSet.Add(4); 
        mySortedSet.Add(5); 
   
        // ------ Count property ---------- 
          
        // Displaying the number of elements in 
        // the SortedSet using "Count" property 
        Console.WriteLine("The number of elements in mySortedSet are: "
                                                + mySortedSet.Count); 
                                                  
        // ---------- Min property ---------- 
        // Displaying the minimum value in the SortedSet 
        Console.WriteLine("The minimum element in SortedSet is : "
                                                + mySortedSet.Min); 
    } 
} 
輸出:
The number of elements in mySortedSet are: 5
The minimum element in SortedSet is : 1

Methods

方法 說明
Add(T) 向集合中添加一個元素並返回一個值,指示該元素是否已成功添加。
Clear() 從集合中移除所有元素。
Contains(T) 確定集合是否包含特定元素。
CopyTo() 將 SortedSet<T> 的部分或全部複製到兼容的一維數組,從目標數組的開頭或指定索引處開始。
CreateSetComparer() 返回一個 IEqualityComparer 對象,該對象可用於創建包含各個集的集合。
CreateSetComparer(IEqualityComparer) 根據指定的比較器返回 IEqualityComparer 對象,該對象可用於創建包含各個集合的集合。
Equals(Object) 確定指定對象是否等於當前對象。
ExceptWith(IEnumerable) 從當前 SortedSet 對象中刪除指定集合中的所有元素。
GetEnumerator() 返回一個遍曆 SortedSet 的枚舉器。
GetHashCode() 用作默認的哈希函數。
GetObjectData(SerializationInfo, StreamingContext) 實現 ISerialized 接口並返回序列化 SortedSet 對象所需的數據。
GetType() 獲取當前實例的類型。
GetViewBetween(T, T) 返回 SortedSet 中子集的視圖。
IntersectWith(IEnumerable) 修改當前SortedSet對象,使其僅包含也在指定集合中的元素。
IsProperSubsetOf(IEnumerable) 確定SortedSet對象是否是指定集合的真子集。
IsProperSupersetOf(IEnumerable) 確定 SortedSet 對象是否是指定集合的真超集。
IsSubsetOf(IEnumerable) 確定 SortedSet 對象是否是指定集合的子集。
IsSupersetOf(IEnumerable) 確定 SortedSet 對象是否是指定集合的超集。
MemberwiseClone() 創建當前對象的淺拷貝。
OnDeserialization(Object) 實現 ISerialized 接口,並在反序列化完成時引發反序列化事件。
Overlaps(IEnumerable) 確定當前SortedSet對象和指定集合是否共享公共元素。
Remove(T) 從 SortedSet 中刪除指定的項目。
RemoveWhere(Predicate) 從 SortedSet 中刪除與指定謂詞定義的條件匹配的所有元素。
Reverse() 返回以相反順序迭代 SortedSet 的 IEnumerable。
SetEquals(IEnumerable) 確定當前SortedSet對象和指定集合是否包含相同的元素。
SymmetricExceptWith(IEnumerable) 修改當前SortedSet對象,使其僅包含當前對象或指定集合中存在的元素,但不能同時包含兩者。
ToString() 返回表示當前對象的字符串。
TryGetValue(T, T) 在集合中搜索給定值並返回找到的相等值(如果有)。
UnionWith(IEnumerable) 修改當前SortedSet對象,使其包含當前對象或指定集合中存在的所有元素。

例子:


// C# code to illustrate the methods 
// of SortedSet<T> Class 
using System; 
using System.Collections.Generic; 
   
class GFG { 
   
    // Driver code 
    public static void Main() 
    { 
   
        // Creating a SortedSet of integers 
        SortedSet<int> mySortedSet = new SortedSet<int>(); 
   
        // adding elements in mySortedSet 
        mySortedSet.Add(2); 
        mySortedSet.Add(4); 
        mySortedSet.Add(6); 
        mySortedSet.Add(8); 
        mySortedSet.Add(10); 
   
        //-------- Remove Method -------- 
          
        // Removing element "4" if found 
        mySortedSet.Remove(4); 
   
        // Displaying the elements in mySortedSet 
        foreach(int i in mySortedSet) 
        { 
            Console.WriteLine(i); 
        } 
   
        Console.WriteLine("After Using Method"); 
   
        // Removing element "14" if found 
        mySortedSet.Remove(14); 
   
        // Displaying the element in mySortedSet 
        foreach(int i in mySortedSet) 
        { 
            Console.WriteLine(i); 
        } 
          
        // -------- IsSubsetOf Method -------- 
          
        // Creating a SortedSet of integers 
        SortedSet<int> mySet2 = new SortedSet<int>(); 
   
        // Inserting elements in SortedSet 
        mySet2.Add(3); 
        mySet2.Add(4); 
        mySet2.Add(5); 
        mySet2.Add(6); 
   
        // Check if a SortedSet is a subset 
        // of the specified collection 
        // It should return false as SortedSet mySet2 
        // is not a subset of SortedSet mySet1 
        Console.WriteLine(mySet2.IsSubsetOf(mySortedSet)); 
    } 
} 
輸出:
2
6
8
10
After Using Method
2
6
8
10
False

參考:



相關用法


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