Sort objects in List by properties on the object

后端 未结 2 1766
庸人自扰
庸人自扰 2021-02-07 21:40

I have a List of objects in C#. All the objects contain properties code1 and code2 (among other properties). The list of objects is in no particular order. I need to sort the li

2条回答
  •  借酒劲吻你
    2021-02-07 21:45

    You could use linq extensions (leaving the original list unsorted):

    var sorted = theList.OrderBy(o => o.code1).ThenBy(o => o.code2);
    

    To replace the original list with a sorted one, make a slight amendment (not very efficient, it creates a new list):

    theList = theList.OrderBy(o => o.code1).ThenBy(o => o.code2).ToList();
    

    This assumes that your list is of the correct type, something like:

    List theList = new List();
    

    And not a list of objects, in which case you would need to make use of .Cast<>() or .OfType<>().

提交回复
热议问题