这2个LINQ表达式的名称是什么

时间:2020-03-05 18:48:18  来源:igfitidea点击:

我试图在LINQ中为这2种"类型"的编码表达式找到正确的名称,以便我可以正确地引用它们。我想说第一个叫做"流利的风格"吗?

var selectVar = arrayVar.Select( (a,i) => new { Line = a });

var selectVar =
    from s in arrayVar 
    select new { Line = s };

解决方案

回答

  • 首先-调用扩展方法。如前所述,这种编码风格称为"流利接口"。
  • 第二种方法称为语言综合查询

回答

第一个甚至不是真的linq,它是一个lambda表达式,带有创建的类型不变对象。 (a)=>新{blah = b}

第二个是linq查询,该查询填充具有属性Line的运行中类。此函数中没有哈希运算符,因此该函数只是普通的旧linq。

回答

第二种形式的名称是"查询综合语法",编译器将其翻译为第一种形式。