为什么选择列表的强制转换结果返回null ?

本文关键字:结果 返回 null 转换 选择 列表 为什么 | 更新日期: 2023-09-27 18:15:53

为什么我的方法GetList()在linq语句后返回null ?

public static List<MyType> GetListOfAllLocations()
{
    var DistinctList = ListWith25Elements.GroupBy(x => x.id).Select(y => y.First());
    return DistinctList as List<MyType>
}

foreach(MyType mt in GetListOfAllLocations())... // this is null?!?!

为什么选择列表的强制转换结果返回null ?

DistinctListIEnumerable<MyType>,要得到它作为List<MyType>,你必须做

return DistinctList.ToList();

我认为在这种情况下根本不需要使用列表。但是,如果您需要急切地加载这些值(因为您需要枚举它们几次,或者因为您在SQL上下文中…),您将不得不这样做:

var distinctList = listWith25Elements.GroupBy(x => x.id).Select(y => y.First());
return distinctList.ToList()