<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇開發(fā)語言培訓(xùn)專區(qū)VB語言 → 微軟 VS2010 中 VB 和 C# 語言的增強


      共有7410人關(guān)注過本帖樹形打印

    主題:微軟 VS2010 中 VB 和 C# 語言的增強

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發(fā)短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    微軟 VS2010 中 VB 和 C# 語言的增強  發(fā)帖心情 Post By:2010-12-14 13:52:57

     

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

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

    Visual Basic

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

    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

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

    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

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

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

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

    Dim toppings = New List(OfString) From
            {
             "sprinkles",
             "chocolate chips",
             "strawberries"
            }
        Dim cones = {"sugar cone", "waffle cone"} 'String()的類
    
    型被編譯器識別出來

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

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

    有時候,你會想在Lamdba表達式聲明中作些更復(fù)雜的工作。Visual Basic 10.0支持多行的Lamdba表達式。就像在常規(guī)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語言等動態(tài)語言的互通操作也變得更加簡單。比如,下面的代碼片斷調(diào)用了一個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主要增強了與動態(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關(guān)鍵詞能讓它的類型在運行時被動態(tài)解析而非編譯時的靜態(tài)解析。這讓動態(tài)語言用一種C#編程員覺得自然的方式在C#語言中暴露他們的對象:

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

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

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

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

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

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

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

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


    支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

    返回版面帖子列表

    微軟 VS2010 中 VB 和 C# 語言的增強








    簽名
    主站蜘蛛池模板: 亚洲综合在线观看视频| 天堂网www资源在线| 亚洲欧美日韩精品在线| 精品久久久无码中文字幕| 国产欧美日韩专区| j8又粗又硬又大又爽视频| 成全视频在线观看在线播放高清| 亚洲成av人片在线观看天堂无码| 男人和女人做爽爽视频| 国产亚洲综合色就色| 24小时免费看片| 在线看三级aaa| 中国明星16xxxxhd| 无码熟妇αⅴ人妻又粗又大| 亚洲另类古典武侠| 8090韩国理伦片在线天堂| 91麻豆国产在线观看| 黄网站色视频免费看无下截| chinesefree国语对白| 久久久久亚洲AV无码专区体验| 亚洲欧美中文字幕高清在线一| 国产伦精品一区二区三区免费下载| 国产香蕉97碰碰久久人人| 天天操天天干天天射| 国产日产欧产精品精品电影| 一本大道香蕉在线观看| 日产精品卡二卡三卡四卡乱码视频| 奇米第四色首页| 亚洲中文字幕精品久久| 毛片免费视频播放| 双性h啪啪樱桃动漫直接观看| 色网站在线播放| 国产欧美日韩va| 91精品国产综合久久香蕉| 在车子颠簸中进了老师的身体| 中文字幕乱码无线码在线| 无遮挡很污很爽很黄的网站| 亚洲AV永久无码一区二区三区| 欧美18性精品| 亚洲欧洲日产国码在线观看| 欧美黑人粗大xxxxbbbb|