c# 匿名类型的理解
网络整理 - 06-27
理解匿名类型
另一个类似于动态语言中你可能比较熟悉的概念是匿名类型(Anonymous Types)。当你需要创建一个临时类型(type),却并不想创建一个类(class)时,可以使用匿名类型。
下面的代码介绍了如何在C#中创建匿名类型:
var customer = new {FirstName = “Stephen”, LastName = “Walther”};
在VB.NET中创建同样的匿名类型,可以使用下面的代码:
Dim customer = New With {.FirstName = “Stephen”, .LastName = “Walther”}
注意,customer变量并没有指定类型(这与JavaScript或VBScript非常类似)。尽管如此,customer仍然具有它的类型,你只是不知道它的名字而已:它是匿名的,理解这一点是十分重要的。
仅仅一行代码,我们既创建了一个新的类,又实例化了它的属性。其简洁性让我感动到内伤。
在使用LINQ to SQL时,匿名类型十分有用。因为你会发现你经常需要实时地(on the fly)创建一些新类型。例如,当执行一个查询时,你也许希望返回一个类,来代表一些数据库字段的集合。你将需要创建一个包含这些字段的临时类。
c# 匿名类型的理解