当我做
var arr = new int[] { 100, 200, 300, 400 };
var q = arr.AsQueryable();
q
是一个IQueryable<int>
(具体的EnumerableQuery<int>
)。现在,当我打电话时
Queryable.Sum(q)
我在哪里可以找到求和逻辑?当我查看 Sum-Method 时,我看到 Expression-Tree 将使用 Method Queryable.Sum 执行。但是我在哪里可以找到对数组求和的迭代?
我知道 AsQueryable 将创建 IEnumerable 和 Queryable.Sum() 的表达式,使用 EnumerableQuery-Provider 执行它,但是将执行的有效逻辑在哪里?