C# 中的 SortedSet 类


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

以下是 SortedSet 类的属性:

序号属性及描述
1Comparer
获取用于对 SortedSet<T> 中的值进行排序的 IComparer<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

更新于: 2019-12-11

930 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告