.NET 数据类型之匿名类型(var)

 

  • 匿名类型
     匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象中,而无需首先显式定义一个类型。 类型名由编译器生成,并且不能在源代码级使用。 每个属性的类型由编译器推断。可通过使用 new 运算符和对象初始值创建匿名类型。
  • 限制条件
    • 没有控制匿名类型的名字
    • 匿名类型继承自Object
    • 匿名类型的字段和属性总是只读的
    • 匿名类型不支持事件、自定义方法、自定义操作符和自定义重写
    • 匿名类型是隐式封闭的
    • 匿名类型的实例创建只使用默认构造函数
  • 语法
var v = new { Amount = 108, Message = "Hello" };
var anonArray = new[] { new { name = "apple", diam = 4 }, new { name = "grape", diam = 1 }};

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

foreach (var v in productQuery)
{
    Console.WriteLine("Color={0}, Price={1}", v.Color, v.Price);
}
posted @ 2013-05-28 08:41  M守护神  阅读(1889)  评论(0编辑  收藏  举报