自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Visual Studio 2010中的語(yǔ)言增強(qiáng)一覽

開發(fā) 后端
Visual Studio 2010中有很多令人矚目的新功能,而最基本的當(dāng)然還是對(duì)VS.NET和C#的增強(qiáng)。本文介紹了一些Visual Studio 2010中的語(yǔ)言特性增強(qiáng)。

Visual Studio 2010的Beta版發(fā)布已經(jīng)過(guò)了數(shù)月有余,無(wú)論是C#,VB.NET還是F#的表現(xiàn)都令人期待(有關(guān)Visual Studio 2010 Beta版中的新特性總覽,可參考51CTO之前發(fā)布的這篇文章)。選擇一種開發(fā)語(yǔ)言是程序員的個(gè)人選擇,就像挑選一種冰激凌口味——有許多不錯(cuò)的選擇,但你最喜歡的口味則是一個(gè)個(gè)人偏好的問(wèn)題。

在Visual Studio 2010中,我們對(duì)兩種最流行的語(yǔ)言:Visual Basic和C#做了一些加強(qiáng),提供給程序員——無(wú)論他們偏好哪種語(yǔ)言——所有的工具,幫助他們?nèi)ネ瓿梢粋€(gè)完美的軟件。

Visual Studio 2010中的Visual Basic

Visual Basic團(tuán)隊(duì)致力于增強(qiáng)語(yǔ)言的效率,從而讓開發(fā)者在更少的代碼行中獲得更多的功能。關(guān)于Visual Basic,最常見(jiàn)的用戶需求是當(dāng)將代碼語(yǔ)句拆分為多行時(shí),去除下劃線(“_”)。Visual Basic 10 引入了隱式的行延續(xù)方式,使得在大多數(shù)情況下,不需要使用下劃線。

  1. Function Filter(  
  2.                 ByVal customers As List(Of Customer),  
  3.                 ByVal orderCount As Integer 
  4.                )  
  5.  
  6.     Dimquery =  
  7.                 FromcIncustomers  
  8.       Where c.Orders.Count >  
  9.             orderCount  
  10.                 Selectc 

另一個(gè)提高效率的功能是自動(dòng)實(shí)現(xiàn)(auto-implemented)屬性。應(yīng)用自動(dòng)實(shí)現(xiàn)屬性,原有的屬性模板代碼會(huì)被一行簡(jiǎn)單的聲明代碼替代。以前,屬性聲明一般是這樣:

  1. Private _FavoriteFlavor As String = "Butter Pecan" 
  2.  
  3. Property FavoriteFlavor() As String 
  4.     Get 
  5.         Return _FavoriteFlavor  
  6.     End Get 
  7.     Set(ByVal value As String)  
  8.         _FavoriteFlavor = value  
  9.     End Set 
  10. End Property 
  11.  
  12. Private _FlavorList As New List(Of Flavor)  
  13.  
  14. Property FlavorList() As List(Of Flavor)  
  15.     Get 
  16.         Return _FlavorList  
  17.     End Get 
  18.     Set(ByVal value As String)  
  19.         _FlavorList = value  
  20.     End Set 
  21. End Property 

現(xiàn)在屬性聲明要簡(jiǎn)單的多:

  1. Property FavoriteFlavor As String = "Butter Pecan" 
  2. Property FlavorList As New List(Of Flavor) 

集合初始化以及數(shù)組標(biāo)值同樣很簡(jiǎn)單?,F(xiàn)在集合可以在聲明時(shí)初始化,并由編譯器判斷數(shù)組標(biāo)值類型。

  1. Dim toppings = New List(Of String) From  
  2.     {  
  3.      "sprinkles",  
  4.      "chocolate chips",  
  5.      "strawberries" 
  6.     }  
  7. Dim cones = {"sugar cone""waffle cone"'the type String() is inferred 

Visual Basic 10.0對(duì)Lambda表達(dá)式有更好的支持。Lambda表達(dá)式可以包含不返回值的表達(dá)式,比如下文中的Sub關(guān)鍵字:

  1. Array.ForEach(toppings, Sub(n) Console.WriteLine(n)) 

有時(shí)你需要在Lambda表達(dá)式中做更復(fù)雜的工作,Visual Basic 10.0支持多行的Lambda表達(dá)式。和一般的表達(dá)式一樣,編譯器會(huì)推斷出參數(shù)和返回值的類型:

  1. Dim doubleDown = Function(n As String)  
  2.                      If n.StartsWith("s"Then 
  3.                          Return "extra " & n  
  4.                      Else 
  5.                          Return n  
  6.                      End If 
  7.                  End Function 

在Visual Basic 10.0中,與Python或者Ruby這些動(dòng)態(tài)語(yǔ)言的互操作也變得很簡(jiǎn)單。例如,下面的代碼片段調(diào)用了Python庫(kù)“math.py”中的一個(gè)方法:

  1. Dim mathLib As Object = python.UseFile("math.py")  
  2. Dim firstNumber = 44.2  
  3. Dim secondNumber = 9.5  
  4. mathLib.PowerOf(firstNumber, secondNumber) 

Visual Studio 2010中的C#

C#4.0主要的改進(jìn)在于動(dòng)態(tài)編程范式的共用性以及Office的可編程性改進(jìn)。動(dòng)態(tài)查詢是C#4.0的新功能(有關(guān)C# 4.0動(dòng)態(tài)類型的使用,可參考51CTO之前發(fā)布的這篇文章),這個(gè)功能使你可以以同樣的方式使用并操作IronPython、IronRuby、JScript、HTML DOM或者標(biāo)準(zhǔn).NET庫(kù)中的對(duì)象。指定和可選的參數(shù)、COM客戶端支持等語(yǔ)言方面的增強(qiáng),則使得面向Office API的C#開發(fā)者能夠享受Visual Basic開發(fā)者同樣的美好體驗(yàn)。

在你的代碼中添加dynamic這一新的關(guān)鍵詞,能夠使對(duì)象類型在運(yùn)行時(shí)動(dòng)態(tài)獲得而不是在編譯時(shí)制定。這樣能夠使動(dòng)態(tài)語(yǔ)言以一種更自然的方式向C#暴露它們的對(duì)象。

  1. dynamic dynamicObject = GetDynamicObjectFromRuby();  
  2. dynamicObject.Foo(7);  
  3. dynamicObject.Property = "Property value";  
  4. dynamicObject[0] = "Indexed value";  
對(duì)于Visual Basic和C++的程序員來(lái)說(shuō),可選參數(shù)是很熟悉的,現(xiàn)在,C#程序員也可以使用這一特性。帶有默認(rèn)值的可選參數(shù)在方法簽名中聲明,如下所示:

  1. private void CreateNewStudent(string name, int currentCredits = 0, int year = 1)  
上述的方法可以用以下任意一種方式調(diào)用:  

  1. CreateNewStudent("Chloe");  
  2. CreateNewStudent("Zoe", 16);  
  3. CreateNewStudent("Joey", 40, 2);  
忽略currentCredits參數(shù),但指定year參數(shù),新的指定功能(高亮處)能夠?qū)崿F(xiàn)這一需求。下述調(diào)用同樣可行:

  1. CreateNewStudent("Jill", year: 2);  
  2. CreateNewStudent(name: "Bill", currentCredits: 30, year: 2);  
  3. CreateNewStudent("Will", currentCredits: 4);  

指定參數(shù)同樣是對(duì)已有方法書寫自闡述調(diào)用的好方式,即使它們并沒(méi)有使用可選參數(shù)。

【編輯推薦】

  1. Visual Studio 2010響應(yīng)Ribbon控件消息
  2. 微軟稱C++將得到Visual Studio 2010更多支持
  3. Visual Studio 2010新特性:動(dòng)態(tài)語(yǔ)言功能
  4. 微軟對(duì)Visual Studio 2010的Bug熟視無(wú)睹?
  5. Visual Studio 2010 Beta1試用手記
責(zé)任編輯:yangsai 來(lái)源: 譯言
相關(guān)推薦

2010-04-08 15:14:59

Visual StudASP.NET 4.

2009-05-19 09:21:50

Visual Stud云計(jì)算并行編程

2009-03-17 08:56:57

Visual StudVS2010C++

2009-09-02 16:21:17

Visual BasiC#語(yǔ)言

2009-12-02 09:43:38

Visual Stud

2012-02-20 09:06:20

JVM

2024-02-05 14:18:07

自然語(yǔ)言處理

2010-04-08 16:49:26

Visual StudMVC 2.0

2010-07-15 08:50:09

SharePointVisual Stud

2009-11-24 09:00:02

Visual Stud

2010-07-20 08:43:00

Visual Stud

2010-03-19 13:17:26

Parallel

2009-08-21 13:29:20

Visual Stud

2009-09-07 09:22:17

Visual Stud代碼片段

2009-11-10 13:43:37

Visual Stud

2010-01-26 17:44:32

Visual C++開

2010-01-14 14:12:14

Visual Stud

2010-02-23 09:02:00

Visual Stud

2010-12-16 10:00:20

QtVisual Stud

2009-03-10 10:21:05

災(zāi)難恢復(fù)Restart Manvs
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)