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

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

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

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

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

Visual Basic

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

  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  

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

  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  

現在,屬性聲明能用簡單的多得方法實現:  

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

集合初始化和數組Literal也變得更加簡單?,F在集合能在它們被聲明的時候就被初始化,而數組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()的類型被編譯器識別出來  

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

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

有時候,你會想在Lamdba表達式聲明中作些更復雜的工作。Visual Basic 10.0支持多行的Lamdba表達式。就像在常規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語言等動態語言的互通操作也變得更加簡單。比如,下面的代碼片斷調用了一個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主要增強了與動態編程語言的互通性并改進了Office編程性。動態查找是C# 4.0的一個新功能,能讓你用同樣的方法使用和操作IronPython、IronRuby、JScript、HTML DOM以及標準.NET庫中的對象,不管該對象從哪里獲得。命名參數和可選參數,以及對COM客戶端支持的改進等語言方面的增強讓那些和Office API打交道的C#開發人員與Visual Basic開發人員有同樣的美妙體驗。

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

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

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

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

上面這個方法可以用下面任意一種方法調用:

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

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

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

即使不用可選參數,命名參數同時也是一種用來對你現有方法編寫自定義調用的好方法。

學習更多

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

【編輯推薦】

  1. 解密C#-SQLite是如何移植的
  2. 看看如何透過JavaScript調用C#函數
  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++

2011-03-31 09:13:00

Visual Stud

2009-07-02 10:07:24

C# 4.0的動態類型Visual Stud

2009-11-10 13:43:37

Visual Stud

2009-08-26 09:26:04

Visual Stud

2010-03-10 09:28:58

Visual Stud

2009-09-07 09:22:17

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

2009-08-21 13:29:20

Visual Stud

2010-02-22 16:43:33

Visual Stud

2009-11-11 09:48:06

Visual Stud

2010-04-01 09:06:05

C# 2010

2010-03-17 08:49:49

Visual Stud

2010-11-29 08:57:20

Visual Stud.NET 4
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91伊人网 | 91在线视频免费观看 | 亚洲黄色一级毛片 | 中文一级片 | 国产欧美一区二区三区在线看 | 天天看天天干 | 在线久草| 欧美另类视频 | 中文字幕一区二区三区四区 | 成人av电影免费在线观看 | 亚洲精品中文在线观看 | 日韩一级免费电影 | 91精品久久久久久久久久 | 国产精品一区二区在线观看 | 黄色成人亚洲 | 久久久久久国产精品 | 久久久综合网 | 看av网址 | 亚洲精品在线免费播放 | www视频在线观看 | 精精精精xxxx免费视频 | 欧美另类视频 | 久久国内 | a国产视频| 久久i| 亚洲综合三区 | 欧美性吧| 久久人操 | 在线视频一区二区三区 | 91亚洲精选 | 国产成人免费视频网站高清观看视频 | 久草视频在线播放 | 亚洲人成在线观看 | 在线观看黄视频 | 亚洲免费久久久 | 99久久久国产精品免费消防器 | 特a毛片 | 国产精品明星裸体写真集 | 欧美操操操 | 嫩草黄色影院 | 羞羞色视频 |