我有类型为T的对象的IQueryable列表,我想将其转换为K类型的对象
ListtranformedList = originalList.Select(x => transform(x)).ToList();
如果转换函数不能转换对象,则返回null.如果我想过滤掉null元素,我可以调用它
ListtranformedList = originalList.Select(x => transform(x)) .Where(y => y != default(K)) .ToList();
或者在LINQ中调用Select时是否还有其他过滤掉null元素的方法?
你不能只做这样的事情:
ListtranformedList = originalList.Select(x => tranform(x)) .Where(y => y != null) //Check for nulls .ToList();
关于什么
ListtranformedList = originalList .Select(x => transform(x)) .OfType () .ToList()
注意拆箱同时摆脱空值(特别是当K是一个结构时)
当BI .Where(y => y != null)
是int时,David BI不相信你的代码有效!如果K是int,你将无法获得编译代码!