C# 中的 SortedSet 类

csharpserver side programmingprogramming更新于 2025/9/19 21:37:17

C# 中的 SortedSet 类表示按排序顺序维护的对象集合。

以下是 SortedSet 类的属性 −

Sr.No属性和说明
1Comparer
获取 IComparer<T>用于对 SortedSet<T> 中的值进行排序的对象。
2Count
获取 SortedSet<T> 中的元素数量。
3Max
获取 SortedSet<T> 中由比较器定义的最大值。
4Min
获取 SortedSet<T> 中由比较器定义的最小值。

以下是 SortedSet 类的一些方法 −

序号方法 &说明
1Add(T)
向集合中添加一个元素,并返回一个值,指示该元素是否已成功添加。
2Clear()
从集合中删除所有元素。
3Contains(T)
确定集合是否包含特定元素。
4CopyTo(T[])
复制完整的 SortedSet<T>复制到一个兼容的一维数组,从目标数组的开头开始。
5CopyTo(T[], Int32)
将整个 SortedSet<T> 复制到一个兼容的一维数组,从指定的数组索引开始。
6CopyTo(T[], Int32, Int32)
从 SortedSet<T> 复制指定数量的元素转换为兼容的一维数组,从指定的数组索引开始。
7CreateSetComparer()
返回一个 IEqualityComparer 对象,该对象可用于 创建包含各个集合的集合。

示例

现在让我们看一些示例 −

要检查 SortedSet 是否包含特定元素,代码如下 −

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main() {
      SortedSet<string> set1 = new SortedSet<string>();
      set1.Add("CD");
      set1.Add("CD");
      set1.Add("CD");
      set1.Add("CD");
      Console.WriteLine("Elements in SortedSet1...");
      foreach (string res in set1) {
         Console.WriteLine(res);
      }
      Console.WriteLine("Does the SortedSet1 contains the element DE? = "+set1.Contains("DE"));
      SortedSet<string> set2 = new SortedSet<string>();
      set2.Add("BC");
      set2.Add("CD");
      set2.Add("DE");
      set2.Add("EF");
      set2.Add("AB");
      set2.Add("HI");
      set2.Add("JK");
      Console.WriteLine("Elements in SortedSet2...");
      foreach (string res in set2) {
         Console.WriteLine(res);
      }
      Console.WriteLine("SortedSet2 is a superset of SortedSet1? = "+set2.IsSupersetOf(set1));
   }
}

输出

这将产生以下输出 −

Elements in SortedSet1...
CD
Does the SortedSet1 contains the element DE? = False
Elements in SortedSet2...
AB
BC
CD
DE
EF
HI
JK
SortedSet2 is a superset of SortedSet1? = True

获取遍历 SortedSet 的枚举器,代码如下 −

示例

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main(){
      SortedSet<string> set1 = new SortedSet<string>();
      set1.Add("AB");
      set1.Add("BC");
      set1.Add("CD");
      set1.Add("EF");
      Console.WriteLine("Elements in SortedSet1...");
      foreach (string res in set1) {
         Console.WriteLine(res);
      }
      SortedSet<string> set2 = new SortedSet<string>();
      set2.Add("BC");
      set2.Add("CD");
      set2.Add("DE");
      set2.Add("EF");
      set2.Add("AB");
      set2.Add("HI");
      set2.Add("JK");
      Console.WriteLine("Elements in SortedSet2 (Enumerator for SortedSet)...");
      SortedSet<string>.Enumerator demoEnum = set2.GetEnumerator();
      while (demoEnum.MoveNext()) {
         string res = demoEnum.Current;
         Console.WriteLine(res);
      }
   }
}

输出

这将产生以下输出 −

Elements in SortedSet1...
AB
BC
CD
EF
Elements in SortedSet2 (Enumerator for SortedSet)...
AB
BC
CD
DE
EF
HI
JK

相关文章