程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> LINQ體驗(2)——C# 3.0新語言特性和改進(上篇)

LINQ體驗(2)——C# 3.0新語言特性和改進(上篇)

編輯:關於ASP.NET

在第一篇中,知道了Visual Studio 2008新特性,從這篇開始進入此系列的 第二部分——介紹C# 3.0新語言特性和改進。

總體來說, Visual Studio 2008和.NET 3.5是建立在.NET2.0核心的基礎之上,.NET2.0核心 本身將不再變化(如果不了解.NET2.0的朋友,請參看MSDN或者一些經典的書籍 ),C# 3.0新語言特性在.NET2.0基礎上進行了改進,這些改進的功能可以大大 簡化我們編寫程序。關於C# 3.0新語言特性在博客園裡的很多朋友都介紹了,我 在這裡簡單介紹一下,記錄自己所學的東西,也為後面的LINQ打下基礎。

C# 3.0新語言特性和改進包括:

自動屬性(Auto-Implemented Properties)

隱含類型局部變量(Local Variable Type Inference)

匿名類型(Anonymous Types)

對象與集合初始化器(Object and Collection Initializers)

擴展方法(Extension Methods)

Lambda表達式和Lambda表達式樹 (Lambda Expression and Lambda Expression Trees)

自動屬性(Auto-Implemented Properties)

自動屬 性可以避免原來這樣我們手工聲明一個私有成員變量以及編寫get/set邏輯,在 VS2008中可以像下面這樣編寫一個類,編譯器會自動地生成私有變量和默認的 get/set 操作。你也可以分別定義get和set的“protected”等訪問 級別。

在.Net2.0框架下,我們可以這樣寫一個User類:

public class User
{
  private int _id;
  private string _name;
  private int _age;
  public int Id
  {
    get { return _id; }
    set { _id = value; }
  }
  public string Name
  {
    get { return _name; }
    set { _name = value; }
  }
  public int Age
  {
    get { return _age; }
    set { _age = value; }
  }
}

現在,可以這樣簡化:

public class User
{
   public int Id { get; set; }
  public string Name { get; set; }
  public int Age { get; set; }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved