我已经看到了很多关于匿名类型如何工作的描述,但是我不确定它们是否真正有用。在精心设计的程序中可以使用匿名类型解决哪些方案?
匿名类型与系统的设计甚至在类级别都没有关系。它们是开发人员在编码时使用的工具。
我什至不将匿名类型视为本身的类型。我主要将它们用作方法级别的匿名元组。如果我查询数据库然后处理结果,我宁愿创建一个匿名类型并使用它,而不是声明一个永远不会在我的方法范围之外使用或得知的全新类型。
例如:
var query = from item in database.Items // ... select new { Id = item.Id, Name = item.Name }; return query.ToDictionary(item => item.Id, item => item.Name);
没有人关心`a,匿名类型。它在那里,所以您不必声明另一个类。