cuclife.com > IT > C# > 0

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# 匿名类型的理解