我有一个对象列表,我想根据对象的ID对其进行排序?

时间:2012-02-15 20:47:15

标签: c# list sorting

我有一个对象列表,我想按对象的ID对其进行排序,然后所有信息都必须写入文件中? [C#]

我不希望打印对象我只想要一个对列表进行排序的方法,这样我就可以调用Sort方法并使用我的Serialize类,它将已排序的列表放入文件中。

如果您需要任何其他代码,请告诉我们。

提前致谢。

这是我的类,它创建一个列表,以便我可以将对象放入其中。

[Serializable]
class ListOfClasses
{

     public List<Classes> fitnessClasses { get; set; }
     public ListOfClasses()
    {
        fitnessClasses = new List<Classes>();  
    }

     public void DeleteClass(Classes c)
     {
         fitnessClasses.Remove(c);
     }

     public void AddClass(Classes c)
     {
         fitnessClasses.Add(c);
     }

3 个答案:

答案 0 :(得分:1)

以下是一个示例,假设类Classes具有ID属性:

fitnessClasses.Sort((a, b) => a.ID.CompareTo(b.ID));

答案 1 :(得分:0)

您可以使用:

fitnessClasses.OrderBy(item => item.ID);

答案 2 :(得分:0)

使用以下任何一种方法:

  1. 使用LINQ排序

    IEnumerable<Class> sortedClasses = 
        from fitnessClass in fitnessClasses
        orderby fitnessClass.ID
        select fitnessClass;
    
  2. 使用System.Linq.Enumerable

    上的扩展方法排序
    IEnumerable<Class> sortedClasses = 
        fitnessClasses.OrderBy(fitnessClass => fitnessClass.ID);
    
  3. 在List类上使用Sort方法,它实际上会修改列表中项目的顺序。

    fitnessClasses.Sort( 
        (fc1, fc2) => Comparer<int>.Default.Compare(fc1.ID, fc2.ID) );