天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

C# 4動態編程新特性與DLR剖析

近幾年來,在TIOBE 公司每個月發布的編程語言排行榜[1] 中,C# 總是能擠進前10 名,而在近10 年的編程語言排行榜中,C# 總體上呈現上升的趨勢。C# 能取得這樣的成績,有很多因素在起作用,其中,它在語言特性上的銳意進取讓人印象深刻( 圖1 )。

  圖1 C#各版本的創新點

2010 年發布的 C# 4 ,最大的創新點是擁有了動態編程語言的特性。

1 動態編程語言的中興

動態編程語言并非什么新鮮事物,早在面向對象編程語言成為主流之前,人們就已經使用動態編程語言來開發了。即使在 Java 、 C# 、 C++ 等面向對象編程語言繁榮興旺、大行于世的年代,動態編程語言也在“悄悄”地攻城掠地,占據了相當的開發領域,比如 JavaScript 業已成為 Web 客戶端事實上的主流語言。

最近這幾 年,動態編程語言變得日益流行,比如 Python 、 Ruby 都非常活躍,使用者眾多。

這里有一個問題,為什么我們需要在開發中應用動態編程語言?與 C# 和 Java 這類已經非常成熟且功能強大的靜態類型編程語言相比,動態編程語言有何優勢?

簡單地說,使用動態編程語言開發擁有以下的特性:

(1 )支持REPL ( Read-evaluate-print Loop :“讀入 à 執行 à 輸出”循環迭代)的開發模式,整個過程簡潔明了,直指問題的核心。

舉個簡單的例子, 圖 2 所示為使用 IronPython[2] 編程計算“ 1+2+ …… +100 ”的屏幕截圖,我們可以快速地輸入一段完成累加求和的代碼,然后馬上就可以看到結果:

2 使用 IronPython編程

如果使用 C# 開發就麻煩多了,您得先用 Visual Studio 創建一個項目,然后向其中添加一個類,在類中寫一個方法完成求和的功能,再編寫調用這一方法的代碼,編譯、排錯,最后才能得到所需的結果……

很明顯,對于那些短小的工作任務而言,動態編程語言所具備的這種 REPL 開發模式具有很大的吸引力。

( 2 )擴展方便。用戶可以隨時對代碼進行調整,需要什么功能直接往動態對象上“加”就是了,不要時又可以移除它們。而且這種修改可以馬上生效,并不需要像 C# 那樣必須先修改類型的定義和聲明,編譯之后新方法才可用。

換句話說:使用動態語言編程,不需要“重量級”的 OOAD ,整個開發過程迭代迅速而從不拖泥帶水

( 3 )動態編程語言的類型解析是在運行時完成的,可以省去許多不必要的類型轉換代碼,因此,與靜態編程語相比,動態編程語言寫的代碼往往更緊湊,量更少。

動態編程語言主要的弱點有兩個:

( 1 )代碼中的許多錯誤要等到運行時才能發現,而且需要特定的運行環境支持,對其進行測試不太方便,也不支持許多用于提升代碼質量的各種軟件工程工具,因此不太適合于開發規模較大的、包容復雜處理邏輯的應用系統。

( 2 )與靜態編程語言相比,動態編程語言編寫的程序性能較低。不過隨著計算機軟硬件技術的不斷進步,比如多核 CPU 的廣泛應用,動態編程語言引擎和運行環境不斷地優化,動態編程語言編寫的程序性能在不斷地提升,在特定的應用場景下,甚至可以逼近靜態語言編寫的程序。

2 擁抱“動態編程”特性的 C# 4

為了讓 C# 、 Visual Basic 等 .NET 編程語言能具備動態編程語言的特性, .NET 4.0 引入了一個“ DLR ( Dynamic Language Runtime :動態語言運行時) ”( 圖 3 )。

圖 3 DLR:動態語言運行時

         DLR 運行于 CLR 之上,提供了一個動態語言的運行環境,從而允許 Python 、 Ruby 等動態語言編寫的程序在 .NET 平臺上運行,同時,現有的 .NET 靜態類型編程語言,比如 C# 和 Visual Basic ,也可以利用 DLR 而擁有一些動態編程語言的特性。

( 1 )使用 C# 4 編寫動態的代碼

C# 4 新增了一個 dynamic 關鍵字,可以用它來編寫“動態”的代碼。

例如,以下代碼創建了一個 ExpandoObject 對象(注意必須定義為 dynamic ):

dynamic dynamicObj = new ExpandoObject();        
        

NET技術C# 4動態編程新特性與DLR剖析,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 激情床戏揉胸吃胸视频 | 恋夜秀场支持安卓版全部视频国产 | 扒开胸罩揉她的乳尖视频 | 大陆老熟女60岁 | 亚洲日韩一区精品射精 | 天美传媒MV高清免费看 | 嘟嘟嘟WWW免费高清在线中文 | 16女下面流水不遮图免费观看 | 中国农民真实bbwbbw | 荡乳乱公小说 | 国产精品无码AV天天爽色欲 | 国产电影一区二区三区 | 亚洲色欲色欲WWW在线成人网 | 日本久久久久亚洲中字幕 | 亚洲AV 无码AV 中文字幕 | 嘟嘟嘟在线视频免费观看高清中文 | 亚洲视频网站欧美视频网站 | 日本免费一区二区三区四区五六区 | 欧美另类一区 | 精选国产AV精选一区二区三区 | 影音先锋亚洲AV少妇熟女 | 午夜精品久久久久久久99蜜桃 | 亚洲午夜福利未满十八勿进 | 午夜在线观看免费完整直播网页 | 伊人久久电影院 | 亚洲国产日韩a精品乱码 | 亚洲蜜桃AV色情精品成人 | 国内免费视频成人精品 | 欧美亚洲日韩一道免费观看 | 大乳牛奶女magnet | 国产又色又爽又刺激在线播放 | 亚洲av欧美在我 | 国产色综合久久无码有码 | 影音先锋av天堂 | 久久噜国产精品拍拍拍拍 | 亚洲色图激情小说 | 灰原哀被啪漫画禁漫 | 国内精品久久久久久久999下 | 亚洲欧美日韩另类精品一区二区三区 | 婷婷射精AV这里只有精品 | 二次元美女扒开内裤喷水 |