C# 林:区别于;选择“新建{e.FName,e.LName}”;及;选择(e.FName,e.LName)";?

C# 林:区别于;选择“新建{e.FName,e.LName}”;及;选择(e.FName,e.LName)";?,c#,linq,anonymous-types,C#,Linq,Anonymous Types,这两个查询之间有什么区别 var query = from e in people select (e.FName,e.LName); 及 第一个返回一个IEnumerable(请参阅),其中第二个返回一个的IEnumerable。运行每个查询并将鼠标光标悬停在query变量上。Visual Studio将告诉您每个查询返回的类型。第一个选择a,第二个选择a。(a,b)是元组,而new{a,b}是匿名的object@JohnathanBarclay:在.NET4

这两个查询之间有什么区别

var query = from e in people
                select (e.FName,e.LName);


第一个返回一个
IEnumerable
(请参阅),其中第二个返回一个的
IEnumerable

运行每个查询并将鼠标光标悬停在
query
变量上。Visual Studio将告诉您每个查询返回的类型。第一个选择a,第二个选择a。
(a,b)
是元组,而
new{a,b}
是匿名的object@JohnathanBarclay:在.NET4.7之前会发生什么?文档说明,
ValueTuple
是在.NET 4.7中引入的。这是否回答了您的问题?
var query = from e in people
                select new {e.FName,e.LName};