问题标签 [icomparable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 可比的用于负数时给出stackoverflow?
这是一个奇怪的问题,我已经实现了简单的快速排序如下..
输出为:1,2,3,4,5,6,7,8,9
但是当我在未排序列表中使用任何负数时,会出现 stackoverflow 错误,
例如,如果 List unsorted = new List { 1, 3, 5, 7, 9, 8, 6, 4, 2, -1 }; 现在有一个stackoverflow ..
这是怎么回事?为什么这不起作用?
c# - 在 Taxpayer 类上实现 Icomparable 以根据 taxOwed 进行排序
我无法实现 Icomparable CompareTo 来比较基于所欠税款的纳税人对象..有人可以帮助我实现纳税人类的无与伦比的实施吗?我想像这里一样实现 icomparable-Interfaces 对我来说是新主题..请帮助http://www.dotnetperls.com/icomparable
.
.net - 为什么我们需要 Icomparable 接口?
请澄清一下,我们可以有自己的方法来比较两个对象而不是实现接口。接口的意义是什么?
c# - 在 C# 中对对象的 ArrayList 进行排序
如何ArrayList
对对象进行排序?我IComparable
在排序时实现了界面ArrayList
,但没有得到所需的结果。
我的代码示例:
在这里,我想ArrayList
根据Count
.
c# - 泛型和实现 IComparable
我对泛型非常陌生,我正在尝试编写一个简单的类,它是通用的,但也允许对字符串成员变量的一些描述进行排序。
目前我有一个基本类,但是当我尝试实现接口成员 CompareTo() 时,我在顶部收到一个错误,告诉我它没有实现。这里有什么问题?
.net - 为泛型类实现 Icomparable 接口
我不知道如何为泛型类实现IComparable
接口方法CompareTo
。
我有一个名为的类BindingProperty<T>
,用于创建一个List<BindingProperty<intOrString>>
绑定到一个DataGrid
. 问题是我无法执行排序操作,因为这个类IComparable
没有实现接口。BindingProperty<T>
比较的结果将取决于“ BindingProperty<T>
Value”类型为 T 的类的数据成员“Value”。当我单击 DataGrid 的列标题时,我得到一个方法未实现的异常。CompareTo()
我需要帮助来实现这个接口。我应该使用IComparable<T>
吗?如果是,我该怎么做?
提前感谢沙克蒂
c# - 列表未使用 IComparable 进行排序
这是我的抽象基类:
此类表示 Person 并继承自 BaseDataModel 类。
但是当我尝试使用 sort() 方法对列表进行排序时,它不起作用。它返回带有 2 个对象的排序列表,但这些对象中的所有属性都是空的。
这里有什么问题?
c# - 通用约束——我不确定如何用非此即彼的情况来解决这种情况
基本上我有以下几点:
问题是我不能这样做,因为即使约束不同,您也不能拥有具有相同签名的成员。但是,没有办法说明约束是IComparable
OR IComparable<T>
。所以,我不确定除了挑选一个并继续使用它之外还能做什么。而且,无论我选择哪一个,我都会输掉另一个,因为它们是分开的并且不会相互继承(这是有道理的)。
我是否在这里遗漏了一些东西,有一种方法可以同时使用两者,还是我必须选择一个(可能是通用版本)?
c# - 代码合同——当我使用 IComparable 或 IComparable 时要求/确保未经证实
我有以下方法:
这里的问题是它不喜欢我的最后一个要求。它指出CodeContracts: requires unproven: upperBound.CompareTo(lowerBound) >= 0
。我不确定在这里解决这个问题的正确方法。我需要确保当我进行比较值时,我实际上有一个真正的下界和上界值,并且下界值不高于上界值。
哦,我不能使用实际的 < 或 > 运算符,因为你不能将它们应用于类型“T”。
最后,我知道这可能是一个单独的问题,但它是高度相关的......如果有人知道为什么我在使用 Code Contracts v1.4.50126.1 时仍然出现 CA1062 代码分析错误,请告诉我如何解决它:CA1062: Microsoft.Design : In externally visible method 'MyClass.IsBetween<T>(this IComparable<T>, T, T), validate parameter 'upperBound' before using it.
c# - 对接口对象列表进行排序
我有几个实现接口的类,IFoo。我需要在表格中显示这些类的对象列表,我希望能够按表格中的任意列进行排序。因此,表的数据源是List<IFoo>
.
我遇到的问题是实现IComparable
或IComparer
用于列表中的对象的标准方式需要静态方法,但接口中不允许使用静态方法。所以,问题归结为:如何排序 a List<IFoo>
?