當前位置:成語大全網 - 書法字典 - ironpython2.0之後,基於什麽特性。網?

ironpython2.0之後,基於什麽特性。網?

的測試版。NET 4.0已經和Visual Studio 2010的測試版壹起發布了。作為兩種重要的語言。NET框架,在C#和VB.NET之間增加了許多新功能。本文全面總結了這兩種語言的發展前景。支持匿名方法(VB.NET新引入)VB.NET新引入的另壹個特性是內嵌或匿名方法。匿名方法這個名字非常貼切,因為它允許妳直接定義子方法和函數,而不需要在妳的類中添加壹個頂級方法,從而使這個方法隱藏起來(也就是匿名)。匿名方法還可以訪問其代碼塊中所有可用的變量,這樣在定義匿名方法時,可以傳入和返回不帶參數的數值。您可以在通常使用AddressOf關鍵字指向方法的地方定義匿名函數,因此它最大的用途可能是在事件處理中。如下例所示:dim mytimer as new system。timers . timer(1000)dim Seconds as integer = 0 addhandler my timer . elapsed,Sub() Seconds += 1 Console。WriteLine(秒。ToString()& amp;“秒已過”)結束sub mytimer。開始()控制臺。writeline(“按任意鍵退出”)控制臺。readline()註意,定義器的超時事件處理程序是內嵌的,這個內嵌的方法直接訪問它外部定義的變量。還可以定義壹個內嵌函數:dim f = function (a為整數,b為整數)return a+b end function dim x = 10 dim Y = 20 dim z = f(x,Y)如果壹個內嵌函數在壹個代碼塊的上下文中有意義,使用起來確實方便,但使用後很可能影響程序的復用性。隱式行延續(VB中新引入的。NET)妳看C#代碼,壹眼就能看出語句的結尾在哪裏,因為它用分號作為語句的終止符。VB也有語句終止符,但是它的終止符是回車,假設每條語句都在同壹行。如果要打破這個規範,就得用下劃線來表示下壹行是這個語句的延續。寫過VB的人。NET程序應該覺得這種方法比較麻煩,影響代碼美觀。Dim text As String = "這不是很好嗎" & amp_“如果妳沒有必要”& amp_ "在" & amp_“繼續下壹行?”幸運的是,現在我們不必再這樣做了。VB.NET現在支持隱式行延續。當編譯器在壹行中發現不完整的語句時,它會自動檢查下壹行的內容是否包含語句的其余部分。Dim text As String = "這不是很好嗎" & amp"如果妳沒有必要" & amp給加下劃線。“繼續下壹行?”& amp“甜!現在妳可以了!”如果還是喜歡懷舊的感覺,還是可以用原來的展示陳述法,現在還是有的。有時我們可能不得不使用它,因為在某些情況下,編譯器可能無法確定下壹行是否是延續行。別擔心,這種情況不會經常發生,如果發生了,編譯器會通知妳的。簡化屬性語法(VB新推出的。NET)簡化的屬性語法是引入VB的另壹個特點。NET從C#開始。通常屬性定義是這樣的:' field private _ name as string ' property public property name()。As String Get Return _ Name End Get Set(ByVal value As String)_ Name = value End Set End Property現在可以縮寫為:Public Property Name() as String,這樣就把代碼的行數從9減少到了1。如果選擇這種簡寫方式,需要註意的壹個問題是,不能訪問存儲其值的區域,這樣在通過引用傳遞值時就會出現問題。如果發生這種情況,您總是可以恢復到通常的書寫或使用臨時變量。數組類型推斷和交錯數組(由VB新引入。VB.NET現在支持數組類型判斷和多數組定義語法。這意味著當妳有壹個初始值定義時,妳不必顯式聲明它的類型,編譯器可以自動確定它的類型。比如:dim numbers = {1,1,2,3,5,8,13,21,34}當妳看到這個數組的時候,妳可以很快確定它是壹個整數,現在編譯器可以像我們壹樣準確的做出這個判斷。Dimnumbers = {1,1,2,3,5.0,8,13,21,34}編譯器看到上面的例子,會發現5.0不是整數,所以數組類型是double。類型判斷也可以用於矩陣:dim names = {{"Sarah "," Jane "," Mary "," Susan "," Amanda"},{"Bob "," Joe "," Dustin "," Richard "," Nick"}}編譯器可以推斷string()就是上面例子的類型。在多個數組中,妳會遇到壹些問題。您可以將二維矩陣想象成每行都有相同列數的矩陣。多重數組中每行的列數是可變的,因此它仍然不同於矩陣。妳可能認為可以定義這樣壹個多重數組:dim names = {"Sarah "," Jane "," Mary "," Susan "," Amanda"}," Bob "和" Nick"},但是妳會發現編譯器拋出壹個錯誤,說"數組初始值設定項缺少3個元素",這是因為編譯器默認把它當成了它。如果要定義壹個multiple數組,只需要用壹對大括號把這幾行括起來:dim names = {{"Sarah "," Jane "," Mary "," Susan "," Amanda"},{"Bob "," Nick"}}現在編譯器可以推斷出它的類型是string()(),是multiple。From關鍵字(VB中新引入的。NET)既然說到初始化,就不得不說壹下VB中新引入的From關鍵字。網。當您創建由許多對象組成的字典、表格或其他對象時,您通常首先創建對象本身,然後用適當的項目填充它。現在有了From關鍵字,我們就不用反復調用Add方法了,它可以自動幫我們調用Add方法來填充列表。因此,現在妳不必像這樣寫:暗淡的顏色作為新的顏色列表。添加(“紅色”)顏色。添加(“綠色”)顏色。添加(“藍色”)。只需將其簡化到這壹點:dim colors as new list(of string)from { " red "," green "," blue"}毫無疑問,它實際上調用了Add方法,這意味著它可以對任何包含Add方法的對象進行操作。事實上,您甚至可以使用extension方法來創建Add方法或重載Add方法。如果傳遞的參數與方法聲明匹配,From關鍵字將使用它們。在前面的例子中,List對象有壹個只需要壹個參數的Add方法,參數值就是要添加到表中的字符串。如果有壹個帶有多個參數的Add方法,可以像定義矩陣壹樣傳遞參數。下面的示例演示了如何使用Add方法和Dictionary對象。dim colors 2 As New Dictionary(Of String,String) From { {"Red "," FF0000"},{"Green "," 00FF00"},{"Blue "," 0000FF"}}因為字典的Add方法包含兩個參數,壹個鍵和值,所以在From語句中傳遞參數時,我們必須兩個兩個地傳遞壹組參數。此外,在使用From關鍵字時,壹定要保持可讀性。在某些特定情況下,您可能仍然希望回到Add方法。