當(dāng)然可以的,需要System.Runtime.InteropServices?命名空間中的?Marshal?類
創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)安多,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
Imports?System.Runtime.InteropServices?'這里一定要有?
Public?Class?Form1
Public?Structure?m_Point
Dim?x?As?Integer
Dim?y?As?Integer
End?Structure
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Dim?i?As?Integer?=?50
Dim?ai()?As?Integer?=?{1,?2,?3,?4,?5}
Dim?pi?As?IntPtr?=?GCHandle.Alloc(i,?GCHandleType.Pinned).AddrOfPinnedObject()?'取得整形變量的指針?
Dim?pai?As?IntPtr?=?GCHandle.Alloc(ai,?GCHandleType.Pinned).AddrOfPinnedObject()?'取得整形數(shù)組首地址指針
MsgBox(Marshal.ReadInt32(pi,?0))?'讀回整形變量指針指向的值
MsgBox(Marshal.ReadInt32(pai,?0?*?4))?'讀回數(shù)組的第一個元素
MsgBox(Marshal.ReadInt32(pai,?1?*?4))?'讀回數(shù)組的第二個元素
MsgBox(Marshal.ReadInt32(pai,?2?*?4))?'讀回數(shù)組的第三個元素
'-----下面是結(jié)構(gòu)--------------------------
Dim?m_p?As?New?m_Point
m_p.x?=?100
m_p.y?=?50
Dim?pm_p?As?IntPtr?=?GCHandle.Alloc(m_p,?GCHandleType.Pinned).AddrOfPinnedObject()?'取得結(jié)構(gòu)首地址指針?
MsgBox(Marshal.ReadInt32(pm_p,?0?*?4))?'讀回結(jié)構(gòu)的第一個值
MsgBox(Marshal.ReadInt32(pm_p,?1?*?4))?'讀回結(jié)構(gòu)的第二個值
End?Sub
End?Class
是這么定義的:
數(shù)組中的第一個元素的下標(biāo)稱為下界,最后一個元素的下標(biāo)稱為上界,其余的元素連續(xù)地分布在上下界之間,且數(shù)組在內(nèi)存中也是用連續(xù)的區(qū)域來存儲的,所以數(shù)組每維的長度不能超過Long數(shù)據(jù)類型的最大值,即264—1=263。
把VB.NET數(shù)組當(dāng)作一個對象來處理,就意味著數(shù)組類型是單個引用類型,數(shù)組變量包括指向構(gòu)成數(shù)組元素、數(shù)組維和數(shù)組長度等數(shù)據(jù)的指針,數(shù)組之間互相賦值但僅僅是在相互復(fù)制指針,數(shù)組繼承了System名字空間的Array類。
VB.NET中的數(shù)組有兩種類型:定長數(shù)組和動態(tài)數(shù)組。
擴展資料:
1、數(shù)組的使用
在’VB 6.0中,能夠用For Each來循環(huán)遍歷一個數(shù)組。
比如:
Dim?x?As?Integer
F0r?Each?x?In?arrayl
Console.WriteLine(x)
Next?
2、在VB.NET中能夠使用For循環(huán)和數(shù)組長度來遍歷一個數(shù)組。
比如:
Dim?i?As工nteger? ?
F0r?i=0?T0??(arrayl.Length-1)
(此處空一行)
Console.WriteLine(arrayl(1)J
Next?i
1、vb點虐 的
數(shù)組定義與變量定義差不多??梢杂?/p>
dim
來定義
比如:
dim
a(100)
as
integer。
也可以不定義下標(biāo)
在程序中
用
redim
來定義。
如:
dim
a()
as
integer
'
'
redim
a(100)
2、vb點虐 中定義數(shù)組可以直接賦值。
如:
dim
a()
as
integer
={1,
2,
3,4}