我将 MSDN 中的查询语法 Select 示例转换为 Lambda。它有效,而且是我自己写的,但我无法理解下面的注释行。我的意思是,我从数字数组中进行选择,但它工作正常,而不是数字显示等效的字符串。它如何匹配两个数组?
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
string[] strings = {"zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine" };
//Confusing line: **How would we represent this line below in plain english?**
var result = numbers.Select(d => strings[d]);
foreach (var d in result)
{
Console.WriteLine(d);
}
Run Code Online (Sandbox Code Playgroud)
输出:
five
four
one
..rest of numbers follow
Run Code Online (Sandbox Code Playgroud)
查询语法中的原始 MSDN 代码:
var result=
from n in numbers
select strings[n];
foreach (var s in strings)
{
Console.WriteLine(s);
}
Run Code Online (Sandbox Code Playgroud)
也许解释这样的事情有点棘手,但我希望有人有正确的词语,这样它就有意义了:)
谢谢
视为.Select()“创建 IEnumerable 后的任何内容=>”。
作为 foreach,它看起来像:
var result = new List<string>();
foreach(var d in numbers)
{
result.Add(strings[d]);
}
return result;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |