当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。