System.Collections.Generic.List中.OrderBy的使用问题??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System.Collections.Generic.List中.OrderBy的使用问题??相关的知识,希望对你有一定的参考价值。
排序后怎样赋值呢?????
详细:
List<ProjectProgressModel> listPpm = ProjectProgressAccess.GetListProjectProgress();
listPpm = listPpm.OrderBy(m => m.Week.IndexNum);
报错:
Cannot implicitly convert type 'System.Linq.IOrderedEnumerable<ModelLayer.ProjectProgressModel>' to 'System.Collections.Generic.List<ModelLayer.ProjectProgressModel>'. An explicit conversion exists (are you missing a cast?)
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
原始的表 (用在例子中的):
1、 OrderBy是一个LINQ扩展方法 并不是List<T>自身包含的方法
2、 OrderBy是一个延迟加载的方法 它返回了一个新的集合接口 所以不能用原来的类型(List<T> listPpm)来保存
3、 语句改成
var orderedListPpm = listPpm.OrderBy(m => m.Week.IndexNum);
如果单纯的排序 请参照List<T>.Sort方法 也可以低效率的先orderBy再重构集合:
listPpm = listPpm.OrderBy(m => m.Week.IndexNum).ToList();
2> OrderBy是一个延迟加载的方法 它返回了一个新的集合接口 所以不能用原来的类型(List<T> listPpm)来保存
3> 语句改成
var orderedListPpm = listPpm.OrderBy(m => m.Week.IndexNum);
是一种解决方案
如果你想单纯的排序 请参照List<T>.Sort方法 也可以低效率的先orderBy再重构集合:
listPpm = listPpm.OrderBy(m => m.Week.IndexNum).ToList();本回答被提问者采纳
以上是关于System.Collections.Generic.List中.OrderBy的使用问题??的主要内容,如果未能解决你的问题,请参考以下文章