C#中的SortedSet类

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

以下是SortedSet类的属性-

序号属性和说明
1比较器
获取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