初始化一個ArrayList對象,調(diào)用它的方法和屬性,以及增加等操作。
創(chuàng)新互聯(lián)建站專注于鳩江企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。鳩江網(wǎng)站建設(shè)公司,為鳩江等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
Dim?myAL?As?New?ArrayList()
'Add方法用來增加元素。?
myAL.Add("Hello")
myAL.Add("World")?
myAL.Add("!")
'Count屬性表示元素個數(shù)。
Console.WriteLine(myAL.Count.ToString())
建議你用下面兩個泛型集合類替代ArrayList:
System.Collections.Generic.List
System.Collections.ObjectModel.Collection
你可以限制泛型類型為實現(xiàn)某一個接口的子類,通過添加 class MyClass : where T : IEnumerable可以限制T為實現(xiàn)IEnumerable的類,但是你不能限制T類型是接口類型,你只能限制T類型是一個引用類型,使用where T : class來做。 實例化跟反省沒關(guān)系...
.Net平臺引入了很多先進的技術(shù),導(dǎo)致了VB6和VB.Net之間產(chǎn)生了一個巨大的鴻溝
就語言功能上來講,VB.net完全是為了.Net技術(shù)而生,具有更好的運行效率和更加強大的功能(某些方面甚至超過了C#)
從語法角度上來講,VB.net成為了真正的OOP(面向?qū)ο笳Z言),不但支持類的繼承、派生,還支持委托、泛型等等更加高級的編程技術(shù)
如果你是從VB6升級到.net的話,建議要將VB.net當(dāng)作一門新的語言來學(xué)。以VB6的經(jīng)驗來應(yīng)用到VB.net上是會犯很多錯誤的
關(guān)于從VB6升級到VB.net的代碼變換問題,注意以下幾個重要的要點即可:
1.不再支持Load、Shell、.LoadPicture等語句
請用相關(guān)的.net語句替換
2.String類為引用類,也就是說
Dim s1,s2 as String
s1="FFFFFFF"
s2=s1
此時修改s2的值s1也會跟著相應(yīng)變化
3.不再支持Variant型和Currency型變量
分別用Object和Demical類型代替
4.變量長度的變化:
VB6的byte、Integer、long型分別被vb.net的byte、short、integer代替,而long型則成為64位大小的整數(shù)。新增了UInteger、ULong、SByte等無符號整數(shù)類型
1、vb.net的 數(shù)組定義與變量定義差不多??梢杂?dim 來定義 比如: dim a(100) as integer。 也可以不定義下標 在程序中 用 redim 來定義。
'這是數(shù)組的一個方法了,可是可以給數(shù)組定義擴展方法來實現(xiàn)這種形式。不過要給Item每個成員能動態(tài)生成相應(yīng)方法,想不出其它簡單點的辦法,只能一個一個的添加擴展方法。
Namespace?測試
Public?Class?Item
Public?Number()?As?String
Public?Name?As?String
Public?Symbol?As?String
Public?Value?As?Single
Public?Unit?As?String
Public?Description?As?String
Public?Remarks?As?String
End?Class
Public?Class?XX
Public?tty()?As?Item
Public?Sub?New()
tty(0).Name?=?"Women"
tty(0).Value?=?198000
tty(1).Name?=?"temen"
tty.Name("temen").Value?=?99999
End?Sub
End?Class
Public?Module?Module1
System.Runtime.CompilerServices.Extension()?_?
Public?Function?Name(ByVal?she?As?Item(),?ByVal?key?As?String)?As?Item?'定義擴展方法功能?在net.3.5前的版本像似沒有。
For?Each?it?In?she
If?it.Name?=?key?Then
Return?it
End?If
Next
Return?Nothing
End?Function
End?Module
End?Namespace