.net 3.5 的新特性

来源:互联网 发布:linux下载工具排行榜 编辑:程序博客网 时间:2024/04/29 09:23

.net 3.5的新的优良特性:

  • 自动属性(Auto-Implemented Properties)
  • 隐含类型局部变量(Local Variable Type Inference)
  • 匿名类型(Anonymous Types)
  • 对象与集合初始化器(Object and Collection Initializers)
  • 扩展方法(Extension Methods)
  • Lambda表达式和Lambda表达式树 (Lambda Expression and Lambda Expression Trees)

自动属性举例:

        private string name;
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

.net 3.5下新的写法:

        public string Name
        {
            get;
            set;
        }

隐含类型局部变量举例:

            var url = http://www.microsoft.com;
            var name = "微软公司";
            var status = false;

匿名类型举例:

            var site1 = new { url = "http://www.microsoft.com", title = "微软公司", author = "T.McGrady", qq = "249522" };
            var site2 = new { url = "http://745.cc", title = "实用工具大全", author = "T.McGrady", qq = "249522" };
            site1 = site2;

对象与集合初始化器举例:

            User user = new User();
            user.Id = 1;
            user.Name = "T.McGrady";
            user.Age = 25;

.net 3.5下新的写法:

            User user = new User { Id = 1, Name = "T.McGrady", Age = 25 };

扩展方法举例:

        public static int Int(this HttpRequest request, string key)
        {
            return int.Parse(request[key]);
        }

调用方法:

            int id = Request.Int("id");

Lambda表达式和Lambda表达式树举例:

            string[] strs = { "http://www.microsoft.com", "微软公司", "249522", "T.McGrady" };
            var q = strs.FirstOrDefault(p => p.IndexOf("microsoft"));
            Console.Write(q);
这里使用了一个Linq语法,p => p.IndexOf("microsoft")就是Lambda表达式。

 

使用Linq可以一句Sql语句都不写。这样虽然提高了开发效率,但是Linq归根结底还是生成Sql语句,性能上肯定比不上没有存储过程。而且在并发上似乎也会有问题。这个东西只能开发小型系统了。大的系统要求效率。用Linq会损失很多性能。

 

如果你不想升级成.net 3.5,你依然可以使用VS2008,VS2008支持.net 2.0,.net3.5的核心也是.net 2.0。你不用担心升级你的项目会有很大风险。

原创粉丝点击