本文介绍了LINQ相当于列表与LT的; T> .Find()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在看一些代码,需要一个并将其转换为一个,以便它可以使用:
I'm looking at some code that takes an IEnumerable<T>
and converts it to a List<T>
so it can use List<T>.Find(predicate)
:
var myEnumerable = ...;
var myList = new List<T>(myEnumerable);
var match = myList.Find(value => value.Aaa == aaa && value.Bbb == bbb);
有没有办法这样用的具有相同的效果,但没有建立一个额外的列表< T>
作为一个中间步骤?
Is there a way to rewrite this using the LINQ extension methods that has the same effect, but without building an extra List<T>
as an intermediate step?
借助扩展方法看起来像一个很好的候选人,而是试图弄清楚,如果是的究竟的等同于查找
正在我的头很疼。
The FirstOrDefault(source, predicate)
extension method looks like a good candidate, but trying to figure out if it's exactly equivalent to Find
is making my head hurt.
推荐答案
在LINQ equivelent是使用:
The LINQ equivelent would be to use FirstOrDefault:
var match = myEnumerable.FirstOrDefault(value => value.Aaa == aaa && value.Bbb == bbb);
这篇关于LINQ相当于列表与LT的; T> .Find()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!