C#LINQ关于在执行查询时创建临时列表的问题
我现在正在学习LINQ基础知识,出现了一些问题。例如,我有一个整数列表-C#LINQ关于在执行查询时创建临时列表的问题,c#,linq,C#,Linq,我现在正在学习LINQ基础知识,出现了一些问题。例如,我有一个整数列表- var s=[3,4,5,6,1] 我无法理解为什么我可以毫无错误地执行此查询: s.Select((val,ind)=>new{value=val,index=ind}) 在List中,我们无法访问索引,并且Select语句中的lambda函数如何理解ind是一个索引器?因为它在Enumerable类中的Select方法声明中提到过 // selector: // A transform function
var s=[3,4,5,6,1]
我无法理解为什么我可以毫无错误地执行此查询:
s.Select((val,ind)=>new{value=val,index=ind})
在
List
中,我们无法访问索引,并且Select
语句中的lambda函数如何理解ind
是一个索引器?因为它在Enumerable
类中的Select
方法声明中提到过
// selector:
// A transform function to apply to each source element; the second parameter of
// the function represents the index of the source element.
public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, int, TResult> selector);
//选择器:
//应用于每个源元素的变换函数;第二个参数
//函数表示源元素的索引。
公共静态IEnumerable选择(此IEnumerable源,Func选择器);
您所说的“在列表中我们无权访问索引”是什么意思?“Select语句中的lambda函数如何理解ind
是一个索引器?”那么,什么东西怎么知道什么东西是什么意思呢?Console.WriteLine
如何知道向控制台打印一行?简短回答:它们是这样设计和实现的。Select
可以计数。如果我开始一次给你一个未知数量的物品,你可以告诉我你收到了多少物品,对吗?我不知道你为什么认为你不能用List
访问索引。