技术开发 频道

.NET项目是否有必要升级到.NET3.5+VS2008?

  【IT168 技术】NET 3.5 + VS 2008已经发布一年多了,可是还有一半以上的企业和开发团队在用VS2005+.Net 2.0,甚至还有用.Net 1.1+VS2003的。生产工具是提高生产力的最重要途径,但是还有许多人没意识到08系列的强大。

  一、Visual Studio 2008环境新特性

  · NET Framework 兼容支持。使用Visual Studio 2008可以进行基于多个.net framework 版本的开发,Visual Studio 2008同时支持framework 2.0/3.0和3.5几个版本。在不同的版本下它可以自动的框架特性工具箱,项目类型,引用,智能提示……过滤功能。我们升级到Visual Studio 2008也非常简单。

  · ASP.NET AJAX和JavaScript智能客户端支持。ASP.NET AJAX成为.NET 3.5的一部分,除了包括ASP.NET AJAX 1.0的所有功能外,还集成了WebParts的UpdatePanel,与and 这样的控件的 ASP.NET 实现AJAX 集成。编写JavaScript提供了智能提示和调试的功能,还增加了JSON的全面支持,无论在WCF还是AJAX上都有广泛的应用。

  · 全新的Web开发体验。Web设计器提供了分割视图编辑、嵌套母板页、以及强大的CSS编辑器集成。ASP.NET提供了三个新的控件:<asp: ListView><asp: DataPager><asp: LinqDataSource>这些控件对数据场景提供了非常好的支持,允许对输出的标识做完全的控制。

  · 其他。Visual Studio 2008加入拼写检查器,可以在编译前对不正确的定义或返回类型进行检查。也优化了特别是自动提示和重构功能。支持智能部署ClickOnce;.集成对Office (VSTO)和Sharepoint 2007开发的支持。性能上,运行一个后台编译器的速度比原来提高了一倍以上,而使用的内存不到原来的一半。VS2008精简了CLR的线程池,使各种类型的多线程应用程序也得到性能改进。

  二、.Net FrameWork 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)
  •   语言级集成查询Linq系列支持(Language INtegrated Query)

  自动属性举例:

    private String name;

    
public String Name

    {

        
get { return name; }

        
set { name = value; }

     }

  .NET 3.5下的新写法:

public String Name { set; get; }

  隐含类型局部变量举例:

        var url = "http://www.168.com";     //url被识别String

        var dt
= new DataTable();            //dt被识别为DataTable

        var status
= false;                    //status被识别为Boolen

  匿名类型举例:

            var site1 = new { url = " http://1.2.3.4 ", title = "BBS", author = "Alex", qq = "4111852" };
            var site2
= new { url = " http://www.168.com ", title = "Title", author = "Alex", qq = "4111852" };
            site1.url
= site2.url;

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

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

  .NET 3.5下新的写法:

var user = new User { Id = 1, Name = "Alex", Age = 22 };

  扩展方法举例:

public static int Int(this HttpRequest request, string key)

    {

        
return int.Parse(request[key]);

    }

  调用方法:

int id = Request.Int("id");
0
相关文章