maz*_*ztt 8 linq anonymous-types
是什么var
在以下情况下真的?
var productInfos =
from p in products
select new { p.ProductName, p.Category, Price = p.UnitPrice };
Run Code Online (Sandbox Code Playgroud)
这两行:
var productInfos = from p in products
select new { p.ProductName, p.Category, Price = p.UnitPrice };
Run Code Online (Sandbox Code Playgroud)
和
IEnumerable<CompilerGeneratedType> productInfos = from p in products
select new { p.ProductName, p.Category, Price = p.UnitPrice };
Run Code Online (Sandbox Code Playgroud)
是等价的. CompilerGeneratedType
是一种将由编译器创建并具有三个公共属性的类型ProductName, Price, and Category
. var
有两个原因:
CompilerGeneratedType
将由编译器生成,因此您无法在声明中使用类型名称.