成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Visual Studio 2010中的語言增強一覽

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

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

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

Visual Studio 2010中的Visual Basic

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

  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 

另一個提高效率的功能是自動實現(auto-implemented)屬性。應用自動實現屬性,原有的屬性模板代碼會被一行簡單的聲明代碼替代。以前,屬性聲明一般是這樣:

  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 

現在屬性聲明要簡單的多:

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

集合初始化以及數組標值同樣很簡單。現在集合可以在聲明時初始化,并由編譯器判斷數組標值類型。

  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關鍵字:

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

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

  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這些動態語言的互操作也變得很簡單。例如,下面的代碼片段調用了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主要的改進在于動態編程范式的共用性以及Office的可編程性改進。動態查詢是C#4.0的新功能(有關C# 4.0動態類型的使用,可參考51CTO之前發布的這篇文章),這個功能使你可以以同樣的方式使用并操作IronPython、IronRuby、JScript、HTML DOM或者標準.NET庫中的對象。指定和可選的參數、COM客戶端支持等語言方面的增強,則使得面向Office API的C#開發者能夠享受Visual Basic開發者同樣的美好體驗。

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

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

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

  1. CreateNewStudent("Chloe");  
  2. CreateNewStudent("Zoe", 16);  
  3. CreateNewStudent("Joey", 40, 2);  
忽略currentCredits參數,但指定year參數,新的指定功能(高亮處)能夠實現這一需求。下述調用同樣可行:

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

指定參數同樣是對已有方法書寫自闡述調用的好方式,即使它們并沒有使用可選參數。

【編輯推薦】

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

2009-05-19 09:21:50

Visual Stud云計算并行編程

2010-04-08 15:14:59

Visual StudASP.NET 4.

2009-03-17 08:56:57

Visual StudVS2010C++

2009-09-02 16:21:17

Visual BasiC#語言

2009-12-02 09:43:38

Visual Stud

2024-02-05 14:18:07

自然語言處理

2012-02-20 09:06:20

JVM

2010-04-08 16:49:26

Visual StudMVC 2.0

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-03-19 13:17:26

Parallel

2009-11-24 09:00:02

Visual Stud

2010-07-15 08:50:09

SharePointVisual Stud

2010-07-20 08:43:00

Visual Stud

2010-01-26 17:44:32

Visual C++開

2009-05-27 09:18:06

VSTS 2010服務層SQL Server

2010-04-15 08:40:00

UML建模Visual Stud

2010-01-14 14:12:14

Visual Stud

2010-02-23 09:02:00

Visual Stud
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.国产.com| 亚洲一区二区三区免费在线观看 | 51ⅴ精品国产91久久久久久 | 欧美一区二区在线看 | 国产一区中文字幕 | 91视在线国内在线播放酒店 | 97视频在线免费 | 亚洲视频二区 | 成人免费一级 | 亚洲另类视频 | 91 视频网站| com.国产 | 欧美aⅴ | 精品国产乱码久久久久久88av | 国产精品久久久久999 | 99九九视频| 欧美一二三 | 午夜免费网站 | 亚洲一区二区三区四区在线观看 | 日韩免费在线视频 | 精品日本久久久久久久久久 | 欧美一级片a | 免费看av大片 | 在线一区二区三区 | www97影院 | 日日夜夜免费精品视频 | 国产精品久久久一区二区三区 | 91文字幕巨乱亚洲香蕉 | 午夜播放器在线观看 | 午夜精品久久久久久久久久久久久 | 成人高潮片免费视频欧美 | 九九热精品视频 | 精品综合 | 亚洲永久 | 国产美女久久久 | 国产综合精品一区二区三区 | www.色综合| 亚洲成人精品在线观看 | 欧美午夜精品久久久久免费视 | 精品综合 | 欧美性一区二区三区 |