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

C#3.0 序列教程 (3) - 自动属性,匿名类

一、自动属性

C#3.0里面在也不用写这样繁琐的代码了
        private string _name;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

已经被简化成如下代码:
        public string Name { get; set; }

这个机制就叫做自动属性, 实际也是一种编译时技术。

有了自动属性,我们的实体类,已经简化了不少, 但是大家看了下面的这个新的语言机制,就会发现,实体类很多情况下都可以不写了!



二、匿名类型
            var p = new { Name = "zs", Age = 88, Sex = "boy" };
            string name = p.Name;
千万不要以为这个地方掉了类名,这就叫你匿名类型, 也就是说new的时候给了一些什么属性,则动态的创建了一种类型。

当然这个地方有一个疑问, 如果程序中很多地方在使用这个技术, 也就是说会创建很多匿名类型
那什么情况才是相同的匿名类型呢,只有当属性名、类型完全相同的时候,才是相同的匿名类型。


作者|来源:原创(17fx.net)发表于:2009-3-11 21:49:21