我该如何进行内联排序?

时间:2013-03-19 08:18:37

标签: c# linq

我想拿一份清单,重新订购并替换原件。

有更好的方法吗?目前我正在重新分配它,感觉很傻......

这是我的代码:

var viewModel = new ViewModel();
viewModel.Children = viewModel.Children.OrderBy(x => x.Name).ToList();

3 个答案:

答案 0 :(得分:17)

您似乎正在寻找List<T>.Sort方法。

viewModel.Children.Sort((a, b) => string.Compare(a.Name, b.Name));

答案 1 :(得分:1)

尝试使用List<T>.Sort方法代替。

  

使用指定的内容对整个List<T>中的元素进行排序   System.Comparison<T>

viewModel.Children.Sort((a, b) => String.Compare(a.Name, b.Name))

答案 2 :(得分:0)

使用lambda expressions

尝试此操作
viewModel.Children.Sort((a, b) => String.Compare(a.Name, b.Name))

对于IList,它不起作用:

viewModel.Children = viewModel.Children.OrderBy(x => x.Name).ToList();