基于int字段对自定义列表进行排序

时间:2012-07-23 13:08:08

标签: c# list

我有一个简单的类,我添加到列表中,一旦我添加了所有内容,我想按GridFieldOrder排序,这应该很简单,但我不能把它放在一起。

List<UserSearchSetupReOrderIng> UserSearchSetupOmega = new List<UserSearchSetupReOrderIng>();

 class UserSearchSetupReOrderIng
{
    public string UID { get; set; }
    public string Name { get; set; }
    public int GridFieldOrder { get; set; }
    public string Column { get; set; }
}

所以基本上如果我的列表中有100个项目,我只想按GridFieldOrder按从最低到最高的顺序排序所有项目。我该怎么做?

4 个答案:

答案 0 :(得分:0)

OrderBy扩展方法应该可以解决问题。

http://msdn.microsoft.com/en-us/library/bb534966.aspx

var sortedList = UserSearchSetupOmega.OrderBy(i => i.GridFieldOrder);

升序。 (OrderByDescending降序。)

答案 1 :(得分:0)

使用Linq - Enumerable.OrderBy - 根据键对升序中的元素进行排序。

List<UserSearchSetupReOrderIng> sortedData = UserSearchSetupOmega
                                .OrderBy(data => data.GridFieldOrder).ToList();

如果您想按降序排列,请使用Enumerable.OrderByDescending扩展方法,如上所述:

List<UserSearchSetupReOrderIng> sortedData = UserSearchSetupOmega
                        .OrderByDescending(data => data.GridFieldOrder).ToList();

希望这个帮助

答案 2 :(得分:0)

var sorted = UserSearchSetupOmega.OrderBy(i => i.GridFieldOrder)

答案 3 :(得分:0)

List<UserSearchSetupReOrderIng> UserSearchSetupOmega = 
                      new List<UserSearchSetupReOrderIng>();

var sortedList = UserSearchSetupOmega.OrderBy(u => u.GridFieldOrder);