如何正式定义这个'var'类型?

Nic*_*las 2 c# linq anonymous-types

这段代码:

var items = query.ToList();
Run Code Online (Sandbox Code Playgroud)

回到List<'a>哪里'a is new { string a1, string a2 }

如果我要删除var关键字,那么在这里使用哪个有效的类型定义来保存名称a1a2

Jon*_*eet 10

没什么,因为它是一个匿名类型的列表.选择了术语"匿名类型",因为该类型没有名称.

如果您希望能够使用显式类型,请不要使用匿名类型.创建自己的类型,或(在C#7中)使用C#元组类型.(常规System.Tuple类型不允许您保留所需的名称.)