Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ArrayList对象排序_C#_Sorting_Object_Arraylist - Fatal编程技术网

C# ArrayList对象排序

C# ArrayList对象排序,c#,sorting,object,arraylist,C#,Sorting,Object,Arraylist,我必须对由对象组成的ArrayList进行排序。对象:ID,数量。ArrayList应该按ID排序。如何实现 ItemIdQuantity = new ItemIdQuantity (ID, Quantity); ItemIdQuantity.Sort(); // where must be sorting by ID 假设这是Java: 如果ItemIdQuantity类基于ID字段实现,请将列表用作单个参数 否则,实现一个使用对象ID比较对象的函数,并将其用作Collections.s

我必须对由对象组成的ArrayList进行排序。对象:ID,数量。ArrayList应该按ID排序。如何实现

ItemIdQuantity = new ItemIdQuantity (ID, Quantity);

ItemIdQuantity.Sort(); // where must be sorting by ID

假设这是Java:

  • 如果
    ItemIdQuantity
    类基于ID字段实现,请将列表用作单个参数
  • 否则,实现一个使用对象ID比较对象的函数,并将其用作
    Collections.sort()
    的第二个参数

我将代码的第一行放入Eclipse中的一个新类中,它首先抱怨“:”说它需要扩展,然后当我放入时,它抱怨IComparer无法解析为类型。我哪里出错了?
公共类IdComparer实现了Comparator{
看起来还可以,但我仍然想了解您的语法。Thanks@Mark:问题的原始版本没有Java标记。显然,第三方添加了这样的标记。我的回答假设语言是C#。PascalCase
Sort
是一个线索,它是C#,而不是Java。
public class IdComparer : IComparer  {
  int IComparer.Compare(object x, object y) {
      return Compare((ItemIdQuantity)x, (ItemIdQuantity)y);
  }
  public int Compare(ItemIdQuantity x, ItemIdQuantity y) {
      return x.ID - y.ID;
  }
}

arrayList.Sort(new IdComparer());