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
参考:
相关用法
- C# SortedDictionary.Clear()用法及代码示例
- C# SortedDictionary.ContainsValue()用法及代码示例
- C# SortedDictionary.Remove()用法及代码示例
- C# SortedDictionary.Add()用法及代码示例
- C# SortedDictionary.Count用法及代码示例
- C# SortedDictionary.Item[]用法及代码示例
- C# SortedDictionary.Keys用法及代码示例
- C# SortedDictionary.Values用法及代码示例
- C# SortedList用法及代码示例
- C# SortedList和SortedDictionary的区别用法及代码示例
- C# String Clone()用法及代码示例
- C# String Compare()用法及代码示例
- C# String CompareOrdinal()用法及代码示例
- C# String CompareTo()用法及代码示例
- C# String Concat()用法及代码示例
- C# String Contains()用法及代码示例
- C# String Copy()用法及代码示例
- C# String CopyTo()用法及代码示例
- C# String EndsWith()用法及代码示例
- C# String Equals()用法及代码示例
- C# String Format()用法及代码示例
- C# String GetEnumerator()用法及代码示例
- C# String IndexOf()用法及代码示例
- C# String Insert()用法及代码示例
- C# String IsInterned()用法及代码示例
注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 C# | SortedSet Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。