我想拿一份清单,重新订购并替换原件。
有更好的方法吗?目前我正在重新分配它,感觉很傻......
这是我的代码:
var viewModel = new ViewModel();
viewModel.Children = viewModel.Children.OrderBy(x => x.Name).ToList();
答案 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();