对3个值排序列表

时间:2013-10-14 12:48:00

标签: c# list sorting

我有一个List,我想通过升序值对CategoryCounter,GroupCounter,QuestionCounter进行排序。我怎么能做到这一点?

public class CustomList
{

    private int _categorySequence = 0;
    private int _groupSequence = 0;
    private int _questionSequence = 0;
    private string _name = String.Empty;

    public string Name
    {
        get { return _name; }
        set { _name = value; }
    } 

    public int CategoryCouter
    {
        get { return _categorySequence; }
        set { _categorySequence = value; }
    }

    public int GroupCounter
    {
        get { return _groupSequence; }
        set { _groupSequence = value; }
    }

    public int QuestionCounter
    {
        get { return _questionSequence; }
        set { _questionSequence = value; }
    }
}

2 个答案:

答案 0 :(得分:1)

您可以使用OrderBy,然后使用ThenBy

var result = MyCollection.OrderBy(x => x.CategoryCounter)
                         .ThenBy(y => y.GroupCounter)
                         .ThenBy(z => z.QuestionCounter);

答案 1 :(得分:0)

嗯......我想,如果你这样做,你想做什么:

  1. 在第一个
  2. 上使用一些排序算法
  3. 如果发生碰撞,请按第二个
  4. 排序
  5. 如果发生第二次碰撞,按第三种排序。