LINQ订单错误
本文关键字:错误 单错误 LINQ | 更新日期: 2023-09-27 18:28:38
我有一个自定义集合:
public class CustomCollection: ObservableCollection<MyViewModel>
{
private String _sPError = String.Empty;
public String SPError
{
get { return _sPError; }
set { _sPError = value; }
}
}
现在我有一处房产:
public CustomCollection MyCollecionObject
{
}
//Working Fine
MyCollecionObject = GetValueFromCollection();// Return Type is CustomCollection
这很好,但如果我想使用进行排序
//Not Working , Getting the Error
MyCollecionObject = (GetValueFromCollection()).OrderByDescending(x=>x.StartTime);
我得到以下异常:
无法隐式转换类型"System.Linq.IOrderedEnumerable"到CustomCollection"。"。
如何使用MyViwModel 内的开始日期通过"CustomCollection"订购
CustomCollection
是一个ObservableCollection<T>
,而OrderByDescending
的结果是一个不兼容的IOrderedEnumerable<T>
。
ObservableCollection<T>
有一个构造函数,它允许您传入IEnumerable<T>
作为源,这样您就可以执行类似的操作
var orderedCollection = GetValueFromCollection().OrderByDescending(x => x.StartTime);
MyCollectionObject = new CustomCollection(orderedCollection.AsEnumerable());
分配的右侧不是CustomCollection类型。您需要从LINQ语句返回的IOrderedEnumerable构造CustomCollection。