zoukankan      html  css  js  c++  java
  • .net 2.0升级到了.net 3.5,开发工具从vs2005转为vs2008

    前两天从.net 2.0升级到了.net 3.5,开发工具从vs2005转为vs2008

    升级前的想法,主要是看到了.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.svnhost.cn";
                var name = "SvnHost开源社区";
                var status = false;

    匿名类型举例:

                var site1 = new { url = "http://www.svnhost.cn", title = "SvnHost开源社区", author = "小灰", qq = "4111852" };
                var site2 = new { url = "http://745.cc", title = "实用工具大全", author = "小灰", qq = "4111852" };
                site1 = site2;

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

                User user = new User();
                user.Id = 1;
                user.Name = "小灰";
                user.Age = 22;

    .net 3.5下新的写法:

                User user = new User { Id = 1, Name = "小灰", Age = 22 };

    扩展方法举例:

            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.svnhost.cn", "SvnHost开源社区", "4111852", "小灰" };
                var q = strs.FirstOrDefault(p => p.IndexOf("svnhost"));
                Console.Write(q);
    这里使用了一个Linq语法,p => p.IndexOf("svnhost")就是Lambda表达式。

    站长小灰也是刚刚接触.net 3.5,现学现卖,还没有深入研究。仅仅做了一个粗略的新特性介绍。有兴趣的朋友可以到google搜索一下,这方面的电子书还不是很多。需要仔细的找,本站下载区也收录了一些,可以去看看。

    最后,我大量使用Linq开发了一个很小的bbs功能,很多 地方都用了Linq特性,发现Linq真是好东西,整个BBS系统,一句Sql语句都没有写。这样虽然提高了开发效率,但是Linq归根结底还是生成 Sql语句,我想性能上应该没有存储过程好。而且在并发上似乎也会有问题,当然我的看法也是局限于我目前的知识。也许Linq一样可以解决并发问题。我想肯定是可以解决的,不然这个东西只能开发小型系统了。大的系统要求效率。用Linq会损失很多性能。最后说一句,用Linq开发小型系统超爽呀。可以抛弃Sql语法了。

    另外vs2008新特性我不是很了解,只用了我常用的东西。个人感觉对我帮助比较大的东西就是vs2008支持js的智能提示。

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

    ----------------
    小猪博客(猪窝) http://www.zhublog.com/
    酷友网 http://www.kuiu.cn/

  • 相关阅读:
    linux常用命令之--用户与用户组管理命令
    linux常用命令之--文本编辑和文本内容查看命令
    linux常用命令之--目录与文件的操作命令
    linux的文件属性介绍、目录及路径表示方法
    scalatest的userguide
    SBT的用法
    性能工具列表
    ruby不能识别中文的一个坑
    基于Calabash-andriod的UI自动化测试(1)-环境和原理
    scala速成记录1
  • 原文地址:https://www.cnblogs.com/craig/p/1369609.html
Copyright © 2011-2022 走看看