【发布时间】:2019-12-06 06:47:20
【问题描述】:
我有以下 sn-p 代码。我对后面提到的代码 sn-p 几乎没有疑问。
var salaries = customerList
.Where(c => c.Age > 30)
.Select(c => c.Salary) // salary is of type long
.ToList();
- 在上面的sn-p代码中,“Where”如何访问customerList,又如何定义“c”的类型?
- 在应用 Select 操作的过滤器后,“Where”是否会返回客户的临时列表?
- “Select”究竟如何知道它必须只返回“Salary”?
- 如何将变量“salaries”的类型设置为 List?
【问题讨论】:
-
请检查
Where签名。 -
阅读 lambda 表达式 link
-
这里有文章 linq 是如何工作的,以及它是如何翻译的link
-
我建议阅读 Jon Skeet 关于Reimplementing LinQ 的系列文章。该问题的文章是:REIMPLEMENTING LINQ TO OBJECTS: PART 2 – “WHERE” 和 REIMPLEMENTING LINQ TO OBJECTS: PART 3 – “SELECT” (AND A RENAME…)