偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Visual Studio 2010中的語言增強一覽

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

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

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

Visual Studio 2010中的Visual Basic

Visual Basic團隊致力于增強語言的效率,從而讓開發(fā)者在更少的代碼行中獲得更多的功能。關(guān)于Visual Basic,最常見的用戶需求是當(dāng)將代碼語句拆分為多行時,去除下劃線(“_”)。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 

另一個提高效率的功能是自動實現(xiàn)(auto-implemented)屬性。應(yīng)用自動實現(xià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)在屬性聲明要簡單的多:

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

集合初始化以及數(shù)組標(biāo)值同樣很簡單?,F(xiàn)在集合可以在聲明時初始化,并由編譯器判斷數(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對Lambda表達式有更好的支持。Lambda表達式可以包含不返回值的表達式,比如下文中的Sub關(guān)鍵字:

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

有時你需要在Lambda表達式中做更復(fù)雜的工作,Visual Basic 10.0支持多行的Lambda表達式。和一般的表達式一樣,編譯器會推斷出參數(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這些動態(tài)語言的互操作也變得很簡單。例如,下面的代碼片段調(diào)用了Python庫“math.py”中的一個方法:

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

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

  1. dynamic dynamicObject = GetDynamicObjectFromRuby();  
  2. dynamicObject.Foo(7);  
  3. dynamicObject.Property = "Property value";  
  4. dynamicObject[0] = "Indexed value";  
對于Visual Basic和C++的程序員來說,可選參數(shù)是很熟悉的,現(xiàn)在,C#程序員也可以使用這一特性。帶有默認值的可選參數(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ù)同樣是對已有方法書寫自闡述調(diào)用的好方式,即使它們并沒有使用可選參數(shù)。

【編輯推薦】

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

2010-04-08 15:14:59

Visual StudASP.NET 4.

2009-05-19 09:21:50

Visual Stud云計算并行編程

2009-03-17 08:56:57

Visual StudVS2010C++

2009-09-02 16:21:17

Visual BasiC#語言

2009-12-02 09:43:38

Visual Stud

2012-02-20 09:06:20

JVM

2024-02-05 14:18:07

自然語言處理

2010-04-08 16:49:26

Visual StudMVC 2.0

2009-09-07 09:22:17

Visual Stud代碼片段

2009-11-24 09:00:02

Visual Stud

2010-03-19 13:17:26

Parallel

2010-07-15 08:50:09

SharePointVisual Stud

2010-07-20 08:43:00

Visual Stud

2009-11-10 13:43:37

Visual Stud

2009-08-21 13:29:20

Visual Stud

2010-01-26 17:44:32

Visual C++開

2010-04-15 08:40:00

UML建模Visual Stud

2009-05-27 09:18:06

VSTS 2010服務(wù)層SQL Server

2010-01-14 14:12:14

Visual Stud

2010-12-16 10:00:20

QtVisual Stud
點贊
收藏

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