IQueryable.First 是否接受委托?
Does IQueryable.First accepts a delegate?
为什么这段代码有效?
List<string> list = new List<string>();
list.Add("foo");
IQueryable<string> query = list.AsQueryable();
var test = query.First((Func<string,bool>)(s => { return s.Contains("foo"); }));
我以为 IQueryable.First 只接受一个表达式。为什么在这种情况下接受委托?
IQueryable<T>
扩展 IEnumerable<T>
:
public interface IQueryable<out T> : IEnumerable<T>, IEnumerable,
IQueryable
所以你的方法实际上是调用 Enumerable.First
而不是 Queryable.First
.
您可以在 IQueryable<T>
documentation on MSDN:
查看方法列表时看到
为什么这段代码有效?
List<string> list = new List<string>();
list.Add("foo");
IQueryable<string> query = list.AsQueryable();
var test = query.First((Func<string,bool>)(s => { return s.Contains("foo"); }));
我以为 IQueryable.First 只接受一个表达式。为什么在这种情况下接受委托?
IQueryable<T>
扩展 IEnumerable<T>
:
public interface IQueryable<out T> : IEnumerable<T>, IEnumerable,
IQueryable
所以你的方法实际上是调用 Enumerable.First
而不是 Queryable.First
.
您可以在 IQueryable<T>
documentation on MSDN: