icomparable相关内容
我在自定义 IComparer 实现中收到一个空对象,尽管它所应用的集合中没有空条目.我的理解是这可能是由 IComparer 实现中的不一致引起的.我无法在以下代码中发现这可能发生的位置. 作为参考,意图是这些首先按“正确"属性排序,然后如果它们相同,则根据“tiebreakerDelta"属性排序,该属性最接近零排序而不会超过. public int Compare(IFoolsSo
..
我有一个实现 IComparable 的类. public class MyClass : IComparable{公共 int CompareTo(MyClass c){返回 this.whatever.CompareTo(c.whatever);}等等..} 然后我可以调用我的类的通用列表的排序方法 列表c = 新列表();//添加东西等c.排序(); 并根据我的比较
..
两个接口似乎都比较对象是否相等,那么它们之间的主要区别是什么? 解决方案 IEquatable 测试两个对象是否相等. IComparable 对被比较的对象进行总排序. 例如,IEquatable 会告诉你 5 不等于 7.IComparable 会告诉你 5 在 7 之前.
..
我正在用类的实例填充数组: BankAccount[] a;...a = 新银行账户[]{new BankAccount("George Smith", 500m),new BankAccount("Sid Zimmerman", 300m)}; 填充此数组后,我想按余额对它进行排序.为了做到这一点,我希望能够使用 IComparable 检查每个元素是否可排序. 我需要使用接口来做到这一点
..
如何比较泛型类型的值? 我已将其缩减为最小样本: 公共类Foo其中 T : IComparable{私人 T _minimumValue = 默认值(T);public bool IsInRange(T 值){返回(值 >= _minimumValue);//="不能应用于“T"和“T"类型的操作数. 到底是什么!?T 已经被约束为
..
如何对对象的 ArrayList 进行排序?我在对 ArrayList 进行排序时实现了 IComparable 接口,但我没有得到所需的结果. 我的代码示例: 公共类排序:IComparable{公共字符串计数{得到;放;}公共字符串 Url { 获取;放;}公共字符串标题{获取;放;}公共 int 比较(对象 obj){排序 objCompare = (Sort)obj;返回 (thi
..
我为C#类编写了一个程序,需要弄清楚如何实现IComparable以便能够对自定义类型的数组进行排序.它编译没有错误,但是在运行时抛出异常: System.InvalidOperationException:无法比较数组中的两个元素.---> System.ArgumentException:至少一个对象必须实现IComparable. 我已经搜索了数小时,以找到无济于事的解决方案.关
..
我需要一个有关如何使用 IComparable 接口的基本示例,以便我可以按升序或降序以及要排序的对象类型的不同字段进行排序. 解决方案 好吧,因为您使用的是 List ,所以仅使用 Comparison数据= ...//按名称降序排序data.Sort((x,y)=> -x.Name.CompareTo(y.Name)); 当
..
我有一个简单的自定义列表类,我正在尝试对它实现IComparable,但是说实话,它不起作用.我尝试了MSDN和其他博客,但还是一样. public class sortDateTime : IComparable { protected DateTime m_startDate, m_endDate; public DateTime startDate {
..
我无法实现Icomparable CompareTo,以根据欠税额比较纳税人对象.有人可以帮助我实现纳税人类的可比实现吗? 我想实现像这里这样的icomparable接口是我的新话题.请帮助 http://www.dotnetperls. com/icomparable using System; using System.Collections.Generic; using System.
..
我的课程实现了IEquatable和IComparable.然后将其添加到sortedset. 目标是让其按其“日期"属性排序,并且如果"ID1"和"ID2"相同,则相等. 已实现的方法: public int CompareTo(MyClass other) { return other.Date.CompareTo(Date); } public override
..
如何定义是否将比较运算符应用于我的类型的操作数?如何将比较运算符应用于我的类型的操作数? 解决方案 您实现了要使用所有运算符,请尝试以下操作: public sealed class Foo : IEquatable, IComparable { public static int Compare(Foo first, Foo second) {
..
我有数字文本列表,我想创建通用的自定义比较器逻辑以使用C#对列表进行排序.例如 var numericList = new List{"100", "--", "-0.98", "N/A", "0.00", "-888"}; var stringList = new List {"Smith", "--", "Peter", "", "Jim", "Ken",
..
TL; DR: 是否可以将类集合/列表传递给库排序算法,并使其返回已排序列表(最好是通过named/default类属性)? /strong> 我最近一直在学习一些Python,并且对Sorted()函数印象深刻,该函数可以对任何迭代进行排序.对于数字来说,这很简单,但是对于类,可以像这样分配一个比较方法.该方法告诉比较运算符如何比较该类的2个实例.除其他功能外,它还允许您使用内置的
..
给定F#中的两个对象,有一种方法可以使用它们的IComparable方法进行比较,假设它们都是相同的子类型,并且IComparable是针对其公共子类型实现的. 我想用伪代码实现的目标: let tycompare (o1 : obj) (o2 : obj) : int option = let (ty1, ty2) = (o1.GetType(), o2.Ge
..
我有几个实现接口IFoo的类.我需要在表中显示这些类的对象的列表,我希望能够按表中的任意列进行排序.因此,该表的数据源是List. 我遇到的问题是,为列表中使用的对象实现IComparable或IComparer的标准方法需要静态方法,但是接口中不允许使用静态方法.因此,问题归结为:如何对List进行排序? 解决方案 IComparable 我不知道是什
..
好吧,我有这些可用于范围的交集方法,并且只要范围端点不为空,它们就可以很好地工作: public static bool Intersects(this Range first, Range second, IComparer comparer) { return comparer.Compare(first.Start, second.End)
..
我已经在C#中实现了非常简单的 binarySearch实现,用于在整数数组中查找整数: 二进制搜索 static int binarySearch(int[] arr, int i) { int low = 0, high = arr.Length - 1, mid; while (low
..
我在这里要问一个特定的话题-我确实在网络上找不到关于此的信息. 我正在实现F#版本的Minimax算法.我现在遇到的问题是我想比较我的树的叶子(下面的数据结构).在搜索VS给我的错误时,我发现了这样的东西: 我曾经拥有的树类型: type TreeOfPosition = | LeafP of Position | BranchP of Position * Tre
..
我正在尝试将Set操作与我拥有的类一起使用.此类的每个实例都有一个唯一的ID.我是否需要实现System.IComparable接口,如果需要,该怎么办? type SomeClass(id : int) = member this.ID = id let someSet = Set.of_list [SomeClass(1); SomeClass(2)] let test = s
..