匿名类型

匿名类型提供了一种将一组只读属性封装到单个对象中的便捷方法,而无需先显式定义类型。类型名称由编译器生成,在源代码级别不可用。每个属性的类型由编译器推断。

你可以使用 new 关键字后跟大括号 { 来创建匿名类型。在花括号内,你可以定义类似于以下代码的属性。

var v = new { Amount = 108, Message = "Hello" };

也可以创建一个匿名类型的数组。见下面的代码:

var a = new[] { 
    new { 
        Fruit = "Apple", 
        Color = "Red" 
    },
    new {
        Fruit = "Banana",
        Color = "Yellow"
    }
};

或者将它与 LINQ 查询一起使用:

var productQuery = from prod in products
                   select new { prod.Color, prod.Price };