C# 5.0 搶先看

來源:互聯網
上載者:User

 

第一:綁定運算子,:=:

這個只是簡化了資料繫結,跟ASP.NET MVC3不斷改進一樣,其實不是什麼亮點改進。

 

comboBox1.Text :=: textBox1.Text; //將文字框的內容綁定到下拉框。

 

第二:帶參數的泛型建構函式:

這個的加入給一些設計增加了強大功能,泛型早在C#2.0加入後就有著強大的應用,一般稍微設計比較好的架構,都會用到泛型,C#5.0加入帶參數泛型建構函式,則在原有基礎上對C#泛型完善了很多。:)

 

public class T MyClass : T: class, new()

//we might have 

 public class T MyClass : T:class, new(int)

 

第三:支援null類型運算:

此功能,個人覺得並非什麼大的亮點,但至少對null類型,特別是有資料計算的這種null類型的支援,寫代碼還是方便不少。

注意對於Nullable Types,在C#2.0就加入進來了,但是不支援計算,比如:

int? x = null;
int? y = x + 40;

那麼y值是多少?不支援計算,得到的是null,想必大家知道為什麼結果是null了吧?但C#5.0可以,40加一個null的整數,我們要的結果是40,不過份吧?

 

int x? = null;

int y? = x + 40;

 

 

Myobject obj = null;

Myotherobj obj2 = obj.MyProperty ??? new Myotherobj();

 

第四:case支援運算式:

這個是一個我很早就想如果能這樣就好了,沒想到在C#5.0裡就加入此功能,以前case裡只能寫一個具體的常量,而現在可以加運算式了,靈活多了。 

switch(myobj){

 case string.IsNullorEmpty(myotherobj):

 //邏輯代碼 

  case myotherobj.Trim().Lower: 

 //邏輯代碼
}

 

 

第五:擴充屬性。

我們在C#3.0裡有擴充方法,那麼在C#5.0裡將會加入擴充屬性的感念,對照擴充方法,不難理解擴充屬性的概念了。以下為擴充屬性的定義舉例:

[Associate(string)]public static int Zivsoft_ExtensionProperty { get;set;}

 

 

C#5.0 遠遠不只是上面描述的5點新功能,它如同C#4.0加入dynamic概念一樣,會加入非同步處理概念,這個不是幾行代碼就能表達,而是將在設計,架構上,又會掀起一次飛躍……

為了大家搶先看,就給一段C#5.0一段簡單的非同步作業的代碼例子,注意(C#5.0兩個新加的關鍵字async, await):

Task<Movie> GetMovieAsync(string title);
Task PlayMovieAsync(Movie movie);
async void GetAndPlayMoviesAsync(string[] titles)
{
    foreach (var title in titles)
    {
        var movie = await GetMovieAsync(title);
        await PlayMovieAsync(movie);
    }
}

 

 

請注意,本文參考http://www.codeproject.com/Articles/113752/5-nice-things-to-have-in-C-5-0,並非C#5.0官方發布。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.