6

我想要一份清单,重新排序并替换原件。

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

这是我的代码:

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

3 回答 3

22

看来您正在寻找List<T>.Sort方法。

viewModel.Children.Sort((a, b) => string.Compare(a.Name, b.Name));
于 2013-03-19T08:19:39.573 回答
1

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

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

viewModel.Children.Sort((a, b) => String.Compare(a.Name, b.Name))
于 2013-03-19T08:20:26.983 回答
0

试试这个lambda expressions

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

对于 IList 它将不起作用:

viewModel.Children = viewModel.Children.OrderBy(x => x.Name).ToList();
于 2013-03-19T08:22:02.650 回答