当前位置:编程技术网 > 技术文章 > C#3.0 序列教程 > 文章详细内容

C#3.0 序列教程 (2) - 类初始化器,集合初始化器

一、类初始化器
设有如下类:
    class Point
    {
        int x, y;

        public int Y
        {
            get { return y; }
            set { y = value; }
        }

        public int X
        {
            get { return x; }
            set { x = value; }
        }
    }

定义对象可以使用如下代码:var p = new Point { Y = 888, X = 1 };
类初始化器实际也是一种编译时技术,上面的这行代码,在编译时将会转成如下代码:
            var p = new Point();
             p.X = 1;
             p.Y = 888;
也就是说 类必须有 无参公有构造函数 才可以使用 初始化器 技术

 

二、集合初始化器
 看看下面的写法:
  var lst = new List<int> {1,3,5,2,6,1};
  var lst1 = new List<object> { "hello", 1, 3, 5, 2, 6, 1 };
 实际也是一种编译时技术,也就是在编译时替换成了很多个Add(..

 

作者|来源:原创(17fx.net)发表于:2009-3-6 23:36:12