如何用简单的英语解释这个 lambda 表达式?

iAt*_*_it 4 c# linq lambda

我将 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)

也许解释这样的事情有点棘手,但我希望有人有正确的词语,这样它就有意义了:)

谢谢