icomparer

    8热度

    3回答

    我与class MyObj : IComparable一个List<MyObj>。我在每IComparable接口MyObj类写的方法CompareTo,但是当我使用List<MyObj>.Contains(myObjInstance)返回false当它应该是true。 我不确定我是否理解我需要继续确保List在调用Contains函数时使用我的自定义比较方法。 这里是我的compareTo实现:

    1热度

    2回答

    任何人都可以帮助,我有问题做排序,我以为我有它排序,但似乎没有工作。 我有一个存储以下值 8,6,10,11,7列表 我也有另外一个列表(在我的班级配件,它有一个叫accessoryId当前的类PROPERT是在目前的id这是currenty 6,7,8,10,11) 因此,我需要从6,7,8,10,11排序他们从简单列表中使用的顺序是8 ,6,10,11,7 我有我的icomparable(见下

    2热度

    2回答

    Sort的文档说Sort会抛出一个ArgumentException,如果“比较器的实现在排序过程中导致错误,例如,比较项与自身时,比较器可能不会返回0。 除了给出的例子,谁能告诉我什么时候会发生这种情况?

    3热度

    2回答

    我试图调试问题并遇到此问题。也许有人可以向我解释。这是问题 public int Compare(CustomClass rt1, CustomClass rt2) { if (rt1 == null & rt2 == null) return 0; if (rt1 == null) return -1; if (rt2 == nul

    11热度

    7回答

    首先,我确实了解了Fisher-Yates shuffle。但让我们说出于理由,我想让用户从下拉列表中选择一个排序选项。该列表将包括一个“随机”选项。根据他们的选择结果,我只想在IComparer实例中替换我的排序。 IComparer会是什么样子? 谷歌带来了有缺陷的结果,所有采取这种形式过多: public class NaiveRandomizer<T> : IComparer<T> {

    3热度

    3回答

    我从来没有写过一个有默认构造函数的有状态IComparer<T>。我在Reflector中检查过的所有标准库实现都是无状态的。因此,我想认为我可以自由地缓存IComparer<T>这样的: PriorityQueue<TPriority, TComparer> where TComparer : IComparer<TPriority>, new() { private static

    0热度

    1回答

    解决在我的文章的底部。 或者更具体地说: 我有一大堆的FileInfo对象(我需要的FileInfo对象排除隐藏,系统和重新分析点文件)。 我需要的FileInfo []自然根据他们FileInfo.FullName进行排序。所以FILE_10.ext应该在FILE_2.ext之后。幸运的是,FileInfo []仅包含一个扩展名的文件。 我实现了一个比较器: /// <summary> ///

    26热度

    5回答

    我有一个通用的 List<MyClass> 其中MyClass具有包含值如属性InvoiceNumber: 一分之二十零万零九百零六 二分之二十零万零九百零六 .. 200906/10 200906/11 200906/12 我的目录绑定到 BindingList<T> 它支持LINQ的排序: protected override void ApplySortCore( Pro

    2热度

    6回答

    我有盒装RegistryItem对象定义了如下的IComparer: public class BoxedRegistryItemComparer : IComparer<object> { public int Compare(object left, object right) { RegistryItem leftReg = (RegistryItem)le