C# 什么是引用的比较运算符? 我可以在C++中创建一组指针,比如: std::set<Data*> data_set; std::set data\u set;

C# 什么是引用的比较运算符? 我可以在C++中创建一组指针,比如: std::set<Data*> data_set; std::set data\u set;,c#,.net,C#,.net,有没有类似的方式来写: SortedSet<Data> data_set; SortedSet数据集; 编辑:我想在c#中使用类似的顺序逻辑。数据是对象的简单派生类。请尝试使用。集合是不包含重复元素的集合 HashSet<Data> data_set = new HashSet<Data>(); data_set.Add(new Data()); HashSet data_set=new HashSet(); 添加(新数据()); 在大多数情况下,C对指

有没有类似的方式来写:

SortedSet<Data> data_set;
SortedSet数据集;
编辑:我想在c#中使用类似的顺序逻辑。数据是对象的简单派生类。

请尝试使用。集合是不包含重复元素的集合

HashSet<Data> data_set = new HashSet<Data>();
data_set.Add(new Data());
HashSet data_set=new HashSet();
添加(新数据());
在大多数情况下,C对指针和C++的引用都不明确。但是,如果创建对象的集合,它将始终隐式地成为对象引用的集合(注意,在本例中我说的是“对象”;值类型的处理方式不同)。(在大多数情况下,C#使用的是引用而不是指针本身——请参阅以了解例外情况)。然后可以使用“==”运算符执行引用相等


<>你提供的C代码实际上对你提供的C++代码有类似的效果(当然,除了你不必对指针/引用明确)之外,

可能有用,你能详细说明你想做什么吗?如果您希望C#中的排序集的排序与
SortedSet
提供的排序不同,在类中实现
IComparer
接口,并重写
Compare
方法。如果要在对象没有逻辑顺序时拥有一组唯一的对象实例,则应使用
HashSet
,而不是
SortedSet
。是,我只想要一组唯一的对象实例,然后你需要在你的问题中这样说,而不是要求一些明显不同的东西。我认为他对比较C#中的引用感到困惑,他没有试图找到他应该使用的集合类型。