问题标签 [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.

0 投票
2 回答
177 浏览

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 ..

这是怎么回事?为什么这不起作用?

0 投票
2 回答
1007 浏览

c# - 在 Taxpayer 类上实现 Icomparable 以根据 taxOwed 进行排序

我无法实现 Icomparable CompareTo 来比较基于所欠税款的纳税人对象..有人可以帮助我实现纳税人类的无与伦比的实施吗?我想像这里一样实现 icomparable-Interfaces 对我来说是新主题..请帮助http://www.dotnetperls.com/icomparable

.

0 投票
2 回答
209 浏览

.net - 为什么我们需要 Icomparable 接口?

请澄清一下,我们可以有自己的方法来比较两个对象而不是实现接口。接口的意义是什么?

0 投票
3 回答
6626 浏览

c# - 在 C# 中对对象的 ArrayList 进行排序

如何ArrayList对对象进行排序?我IComparable在排序时实现了界面ArrayList,但没有得到所需的结果。

我的代码示例:

在这里,我想ArrayList根据Count.

0 投票
2 回答
14259 浏览

c# - 泛型和实现 IComparable

我对泛型非常陌生,我正在尝试编写一个简单的类,它是通用的,但也允许对字符串成员变量的一些描述进行排序。

目前我有一个基本类,但是当我尝试实现接口成员 CompareTo() 时,我在顶部收到一个错误,告诉我它没有实现。这里有什么问题?

0 投票
3 回答
1707 浏览

.net - 为泛型类实现 Icomparable 接口

我不知道如何为泛型类实现IComparable接口方法CompareTo

我有一个名为的类BindingProperty<T>,用于创建一个List<BindingProperty<intOrString>>绑定到一个DataGrid. 问题是我无法执行排序操作,因为这个类IComparable没有实现接口。BindingProperty<T>比较的结果将取决于“ BindingProperty<T>Value”类型为 T 的类的数据成员“Value”。当我单击 DataGrid 的列标题时,我得到一个方法未实现的异常。CompareTo()

我需要帮助来实现这个接口。我应该使用IComparable<T>吗?如果是,我该怎么做?

提前感谢沙克蒂

0 投票
2 回答
134 浏览

c# - 列表未使用 IComparable 进行排序

这是我的抽象基类:

此类表示 Person 并继承自 BaseDataModel 类。

但是当我尝试使用 sort() 方法对列表进行排序时,它不起作用。它返回带有 2 个对象的排序列表,但这些对象中的所有属性都是空的。

这里有什么问题?

0 投票
2 回答
199 浏览

c# - 通用约束——我不确定如何用非此即彼的情况来解决这种情况

基本上我有以下几点:

问题是我不能这样做,因为即使约束不同,您也不能拥有具有相同签名的成员。但是,没有办法说明约束是IComparableOR IComparable<T>。所以,我不确定除了挑选一个并继续使用它之外还能做什么。而且,无论我选择哪一个,我都会输掉另一个,因为它们是分开的并且不会相互继承(这是有道理的)。

我是否在这里遗漏了一些东西,有一种方法可以同时使用两者,还是我必须选择一个(可能是通用版本)?

0 投票
2 回答
732 浏览

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.

0 投票
3 回答
5692 浏览

c# - 对接口对象列表进行排序

我有几个实现接口的类,IFoo。我需要在表格中显示这些类的对象列表,我希望能够按表格中的任意列进行排序。因此,表的数据源是List<IFoo>.

我遇到的问题是实现IComparableIComparer用于列表中的对象的标准方式需要静态方法,但接口中不允许使用静态方法。所以,问题归结为:如何排序 a List<IFoo>