C# 中的 SortedSet 类
csharpserver side programmingprogramming更新于 2025/9/19 21:37:17
C# 中的 SortedSet 类表示按排序顺序维护的对象集合。
以下是 SortedSet 类的属性 −
| Sr.No | 属性和说明 |
|---|---|
| 1 | Comparer 获取 IComparer<T>用于对 SortedSet<T> 中的值进行排序的对象。 |
| 2 | Count 获取 SortedSet<T> 中的元素数量。 |
| 3 | Max 获取 SortedSet<T> 中由比较器定义的最大值。 |
| 4 | Min 获取 SortedSet<T> 中由比较器定义的最小值。 |
以下是 SortedSet 类的一些方法 −
| 序号 | 方法 &说明 |
|---|---|
| 1 | Add(T) 向集合中添加一个元素,并返回一个值,指示该元素是否已成功添加。 |
| 2 | Clear() 从集合中删除所有元素。 |
| 3 | Contains(T) 确定集合是否包含特定元素。 |
| 4 | CopyTo(T[]) 复制完整的 SortedSet<T>复制到一个兼容的一维数组,从目标数组的开头开始。 |
| 5 | CopyTo(T[], Int32) 将整个 SortedSet<T> 复制到一个兼容的一维数组,从指定的数组索引开始。 |
| 6 | CopyTo(T[], Int32, Int32) 从 SortedSet<T> 复制指定数量的元素转换为兼容的一维数组,从指定的数组索引开始。 |
| 7 | CreateSetComparer() 返回一个 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

