Jen

C# 3.0 的新特性

最近準備搬家、當兵、打電動之外,也關心了一下 C#3.0 有什麼花樣, 也開始看一些關於linq的影片, 有點慢是真的, 但還是隨手做了一下筆記。 主要的特色有: 1.隱含型別宣告 (Local Variable Type Inference) 2.自動執行屬性 (Auto-Implemented Properties) 3.匿名型態 (Anonymous Types) 4.物件初始化 (Object Initializers) 5.集合初始化 (Collection Initializers) 6.擴展方法 (Extension Methods) 7.Lambda 表達式 (Lambda Expression) 8.Lambda 表達式樹 (Lambda Expression Trees) 隱含型別宣告 (Local Variable Type Inference)

var b = 1.5;
var c = 'a';
var d = "abc";
var e = new[] { 1, 2, 3, 4 };
var f = new[] { 1.5, 2.5 };
var g = new[] { 'a', 'b' };
var h = new[] { "aaaaaa", "bbbbbb" };
自動執行屬性 (Auto-Implemented Properties)
public class UserTable
{    
    public int KeyId { get; set; }    
    public string Name { get; set; }    
    public Address addr { get; set; }    
};    
public class Address    
{    
    public string Addr { get; set; }    
    public string ZipCode { get; set; }    
};
匿名型態 (Anonymous Types) 匿名型態可以讓我們靈活的建立使用類別,而不需要事先建立類別代碼 產生匿名類別必須用 var 來承接 而當匿名型態內參數型態完成相同時,也可以做運算處理
var anonymous1 = new { A = 1, B = "ABCD" };   
var anonymous2 = new { A = 5, B = "EFGH" };
物件初始化 (Object Initializers)
UserInfo user1 = new UserInfo { Id = 1, Name = "Jen" };   
UserInfo user2 = new UserInfo { Name = "Teyou" };    
UserInfo user3 = new UserInfo    
{    
    Id = 3,    
    Name = "FreeSam",    
    Address = new AddressInfo    
    {    
        Address = "Taiwan",    
        ZipCode = "236"    
    }    
};
.....(未完持續中) C#? javascript? .... 有些特性其實還蠻像的耶= = + ref : Overview of C# 3.0

0 意見: