也许我漏掉了一些愚蠢的东西,但到目前为止,搜索还没有找到任何东西.
我在我的类上实现了List<T>
,当使用MyList.Where()
函数时,它不会转换回MyList
对象?
public class VideoList : List<Video>
{
public VideoList GetVideos(bool onlyShorts)
=> (VideoList)this.Where(x => x.IsShort.Equals(onlyShorts)).ToList();
}
投掷错误:
无法将类型
WhereListIterator1[Video]
的对象强制转换为类型VideoList
.
try 了一些不同类型的铸造,如网上建议,但到目前为止,我还没有通过这个错误. 我也试过this次,但同样的问题. 可能是一些语义? 有没有一种方法可以解决这个错误,而不需要foreach在linq语句之后重新创建列表?