这些天我用lambdas写了很多代码。
return _schema.GetAll<Node>()
.ToList()
.FindAll(node => node.Type == NodeType.Unmanaged)
.Cast<Shape>()
.ToList();
注意:GetAll()返回一个IList。
我可以得到任何一个人吗?
答案 0 :(得分:3)
后:
return _schema.GetAll<Node>().Where(n => n.Type == NodeType.Unmanaged).Cast<Shape>();
答案 1 :(得分:2)
这应该有用。
return _schema.GetAll<Node>()
.Where(node => node.Type == NodeType.Unmanaged)
.Cast<Shape>()
.ToList()
如果您的方法的返回类型为IEnumerable<Shape>
,则无需致电ToList()
。
您也可以这样写(使用IEnumerable<Shape>
返回类型):
return from node in _schema.GetAll<Node>()
where node.Type == NodeType.Unmanaged
select node as Shape;