0

我有一个简单的类,我添加到一个列表中,一旦我添加了我想要排序的所有内容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

4 回答 4

0

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

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

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

为升序。(OrderByDescending用于降序。)

于 2012-07-23T13:10:17.383 回答
0

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

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

如果你希望它按降序排列,那么就像上面一样使用Enumerable.OrderByDescending扩展方法:

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

希望这有帮助

于 2012-07-23T13:10:22.523 回答
0
var sorted = UserSearchSetupOmega.OrderBy(i => i.GridFieldOrder)
于 2012-07-23T13:10:49.597 回答
0
List<UserSearchSetupReOrderIng> UserSearchSetupOmega = 
                      new List<UserSearchSetupReOrderIng>();

var sortedList = UserSearchSetupOmega.OrderBy(u => u.GridFieldOrder);
于 2012-07-23T13:10:56.500 回答