久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久

以文本方式查看主題

-  曙海教育集團論壇  (http://www.xinguifushi.cn/bbs/index.asp)
--  VB語言  (http://www.xinguifushi.cn/bbs/list.asp?boardid=77)
----  微軟 VS2010 中 VB 和 C# 語言的增強  (http://www.xinguifushi.cn/bbs/dispbbs.asp?boardid=77&id=2598)

--  作者:wangxinxin
--  發布時間:2010-12-14 13:52:57
--  微軟 VS2010 中 VB 和 C# 語言的增強
 

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

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

Visual Basic

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

Function Filter(
                    ByVal customers As List ( Of Customer),
                    ByVal orderCount As Integer
                   )
        Dim query =
                    From c In customers
          Where c.Orders.Count >
                orderCount
                    Select c

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

Private _FavoriteFlavor As String = "Butter Pecan"
    Property FavoriteFlavor() As String
        Get
            Return _FavoriteFlavor
        End Get
        Set(ByVal value As String)
            _FavoriteFlavor = value
        End Set
    End Property
    Private _FlavorList As New List(Of Flavor)
    Property FlavorList() As List(Of Flavor)
        Get
            Return _FlavorList
        End Get
        Set(ByVal value As String)
            _FlavorList = value
        End Set
    End Property

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

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

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

Dim toppings = New List(OfString) From
        {
         "sprinkles",
         "chocolate chips",
         "strawberries"
        }
    Dim cones = {"sugar cone", "waffle cone"} \'String()的類

型被編譯器識別出來

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

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

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

Dim doubleDown = Function(n AsString)
                         If n.StartsWith("s") Then
                             Return "extra " & n
                         Else
                             Return n
                         End If
                     End Function

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

Dim mathLib As Object = python.UseFile("math.py")
    Dim firstNumber = 44.2
    Dim secondNumber = 9.5
    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#語言中暴露他們的對象:

dynamic dynamicObject = GetDynamicObjectFromRuby();
    dynamicObject.Foo(7);
    dynamicObject.Property = "Property value";
    dynamicObject[0] = "Indexed value";

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

private void CreateNewStudent(string name, int 

currentCredits = 0, int year = 1)

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

CreateNewStudent("Chloe");
    CreateNewStudent("Zoe", 16);
    CreateNewStudent("Joey", 40, 2);

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

CreateNewStudent("Jill", year: 2);
    CreateNewStudent(name:"Bill", currentCredits: 30, year: 

2);
    CreateNewStudent("Will", currentCredits: 4);

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


符合您条件的共有1条 ,第:1 页/共 1 [1]
主站蜘蛛池模板: 亚洲 自拍 另类 欧美 综合 | 男女上下爽无遮挡午夜免费视频 | 欧美亚洲精品一区 | 国产免费一区二区三区免费视频 | 久草热在线观看 | 久久综合九色综合欧洲色 | 国产一区二区三区在线免费 | 97视频免费在线 | 亚洲看黄 | 成人做爰免费网站 | 九九99香蕉在线视频免费 | 日韩欧一级毛片在线播无遮挡 | 亚洲精品国产成人7777 | 成年人在线免费观看视频网站 | 国产丶欧美丶日韩丶不卡影视 | 午夜三级网 | 欧美国产日韩在线观看 | 色老汉丁香网 | 久久国内精品视频 | 欧美成人性色xxxx视频 | 精品国产欧美一区二区五十路 | 99国产在线播放 | 中国一级毛片欧美一级毛片 | 一级毛片美国一级j毛片不卡 | 99ri在线精品视频在线播放 | 久久免费精品国产72精品剧情 | 精品精品国产自在久久高清 | 国产成 人 综合 亚洲绿色 | 亚洲免费小视频 | 2021国产精品自在拍在线播放 | 国产精品视频一区二区猎奇 | 国产成人亚洲精品2020 | 欧美综合亚洲 | 九九99香蕉在线视频网站 | 欧美成人性色生活片天天看 | 欧美一级专区免费大片俄罗斯 | 日韩在线视频观看 | 国产午夜精品一区二区 | 在线成人免费观看国产精品 | 一区二区三区视频 | 亚洲国产一区在线 |