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

Visual Studio 2010中的Visual Basic和C#語言

開發(fā) 后端
Visual Studio 2010增強了最流行的兩種語言,即Visual Basic和C#語言。本文就介紹了這方面的知識。

選擇一種編程語言是每一個程序員都要做的個人決定。這就好像對冰淇淋口味的選擇一樣。冰淇淋口味的選擇多多,但你最喜歡的口味只關系到你的個人偏好。

在Visual Studio 2010中,為了給程序員提供他們構(gòu)建出色軟件時所需要的所有工具而不用局限于他們所選擇的語言,我們從好幾個方面增強了我們最流行的兩種語言,Visual  Basic和C#語言的功能。

Visual Basic

Visual Basic開發(fā)團隊為了讓開發(fā)人員可以用更少的代碼完成更多的任務,集中增加了和生產(chǎn)力相關的功能特性。Visual Basic客戶最常提出的要求是在大多數(shù)情況下能省去為代碼聲明分成多行時所需要添加的下劃線(“_”)。Visual Basic 10增加了隱式斷行的功能特性,能在大多數(shù)情況下不要求開發(fā)人員使用下劃線來斷行。  

  1. Function Filter(   
  2.  
  3.                  ByVal customers As List(Of Customer),   
  4.  
  5.                  ByVal orderCount As Integer   
  6.  
  7.                 )   
  8.  
  9.     Dim query =   
  10.  
  11.                  From c In customers   
  12.  
  13.        Where c.Orders.Count >   
  14.  
  15.              orderCount   
  16.  
  17.                  Select c  

另一個新添加的和提高生產(chǎn)力有關的功能特性是自動實現(xiàn)屬性。有了自動實現(xiàn)屬性的功能,多行常規(guī)的屬性實現(xiàn)的代碼就可以用一行簡單的聲明代替。在加入該功能特性之前,屬性聲明經(jīng)常如下所示:

  1. Private _FavoriteFlavor As String = "Butter Pecan"   
  2.  
  3. Property FavoriteFlavor() As String   
  4.  
  5.    Get   
  6.  
  7.         Return _FavoriteFlavor   
  8.  
  9.    End Get   
  10.  
  11.     Set(ByVal value As String)   
  12.  
  13.         _FavoriteFlavor = value   
  14.  
  15.     End Set   
  16.  
  17. End Property   
  18.  
  19. Private _FlavorList As New List(Of Flavor)   
  20.  
  21. Property FlavorList() As List(Of Flavor)   
  22.  
  23.     Get   
  24.  
  25.        Return _FlavorList   
  26.  
  27.     End Get   
  28.  
  29.     Set(ByVal value As String)   
  30.  
  31.        _FlavorList = value   
  32.  
  33.     End Set   
  34.  
  35. nd Property  

現(xiàn)在,屬性聲明能用簡單的多得方法實現(xiàn):  

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

集合初始化和數(shù)組Literal也變得更加簡單?,F(xiàn)在集合能在它們被聲明的時候就被初始化,而數(shù)組Literal的類型能交由編譯器來識別。

  1. Dim toppings = New List(Of String) From   
  2.  
  3.     {   
  4.  
  5.      "sprinkles",   
  6.  
  7.      "chocolate chips",   
  8.  
  9.      "strawberries"   
  10.  
  11.     }   
  12.  
  13. Dim cones = {"sugar cone""waffle cone"} 'String()的類型被編譯器識別出來  

現(xiàn)在,Visual Basic 10.0有了更好的lambda表達式支持。現(xiàn)在,Lambda表達式可以包含沒有返回值的表達式,就像下面sub關鍵詞所要表達的那樣:

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

有時候,你會想在Lamdba表達式聲明中作些更復雜的工作。Visual Basic 10.0支持多行的Lamdba表達式。就像在常規(guī)Lambda表達式中一樣,編譯器將盡可能識別變量和返回類型。

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

在Visual Basic 10.0中,和Python及Ruby語言等動態(tài)語言的互通操作也變得更加簡單。比如,下面的代碼片斷調(diào)用了一個Python庫“math.ph”中的方法:

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

C#語言

C# 4.0主要增強了與動態(tài)編程語言的互通性并改進了Office編程性。動態(tài)查找是C# 4.0的一個新功能,能讓你用同樣的方法使用和操作IronPython、IronRuby、JScript、HTML DOM以及標準.NET庫中的對象,不管該對象從哪里獲得。命名參數(shù)和可選參數(shù),以及對COM客戶端支持的改進等語言方面的增強讓那些和Office API打交道的C#開發(fā)人員與Visual Basic開發(fā)人員有同樣的美妙體驗。

在你的代碼中加入新的dynamic關鍵詞能讓它的類型在運行時被動態(tài)解析而非編譯時的靜態(tài)解析。這讓動態(tài)語言用一種C#編程員覺得自然的方式在C#語言中暴露他們的對象:

  1. dynamic dynamicObject = GetDynamicObjectFromRuby();   
  2.  
  3. dynamicObject.Foo(7);   
  4.  
  5. dynamicObject.Property = "Property value";   
  6.  
  7. dynamicObject[0] = "Indexed value";  

可選方法參數(shù)對Visual Basic和C++的編程員來說再熟悉不過。現(xiàn)在C#編程員同樣可以使用這種參數(shù)??蛇x參數(shù)在方法簽名中與一個默認值一同聲明,如下所示:

  1. private void CreateNewStudent(string name, int currentCredits = 0, int year = 1)  

上面這個方法可以用下面任意一種方法調(diào)用:

  1. CreateNewStudent("Chloe");   
  2.  
  3. CreateNewStudent("Zoe", 16);   
  4.  
  5. CreateNewStudent("Joey", 40, 2);  

如果要省略currentCredit參數(shù)但指明year參數(shù),可以使用新加入的命名參數(shù)功能特性(如高亮的代碼所示)。下面所有的調(diào)用都是合法的:

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

即使不用可選參數(shù),命名參數(shù)同時也是一種用來對你現(xiàn)有方法編寫自定義調(diào)用的好方法。

學習更多

在VB功能特性站點和C#功能特性站點,你可以找到更多關于Visual Studio 2010在語言增強方面的內(nèi)容,并能下載到示例代碼。如果你想試試這些新的功能特性,可以下載并安裝Visual Studio Beta 1,然后加入到我們的對話中來。

【編輯推薦】

  1. 解密C#-SQLite是如何移植的
  2. 看看如何透過JavaScript調(diào)用C#函數(shù)
  3. 淺析C#事件注冊和注銷
  4. 示例:C#通過AMO對象瀏覽SQL SERVER 2005 SSAS
  5. C#隱藏窗口的幾種方法
責任編輯:book05 來源: joycode
相關推薦

2010-06-01 13:32:15

Visual Stud

2009-12-02 09:43:38

Visual Stud

2009-08-19 16:50:32

Visual C#C#語言特性

2009-03-17 08:56:57

Visual StudVS2010C++

2009-07-02 10:07:24

C# 4.0的動態(tài)類型Visual Stud

2011-03-31 09:13:00

Visual Stud

2009-08-26 09:26:04

Visual Stud

2009-11-10 13:43:37

Visual Stud

2010-03-10 09:28:58

Visual Stud

2009-09-07 09:22:17

Visual Stud代碼片段

2009-11-24 09:00:02

Visual Stud

2010-07-20 08:43:00

Visual Stud

2010-03-19 13:17:26

Parallel

2010-07-15 08:50:09

SharePointVisual Stud

2009-08-21 13:29:20

Visual Stud

2010-03-17 08:49:49

Visual Stud

2009-11-11 09:48:06

Visual Stud

2010-02-22 16:43:33

Visual Stud

2010-04-01 09:06:05

C# 2010

2010-11-29 08:57:20

Visual Stud.NET 4
點贊
收藏

51CTO技術棧公眾號