现在的位置: 首页 > 综合 > 正文

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

2013年01月12日 ⁄ 综合 ⁄ 共 1969字 ⁄ 字号 评论关闭

前两天从.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/

抱歉!评论已关闭.