vb.net數組指針 vbnet數組操作
vb.net 怎么使用指針對數組快速賦值賦值
數組好像沒有快速賦值吧,或者你再把問題再清楚一點。
站在用戶的角度思考問題,與客戶深入溝通,找到龍州網站設計與龍州網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站制作、做網站、企業官網、英文網站、手機端網站、網站推廣、域名申請、虛擬空間、企業郵箱。業務覆蓋龍州地區。
語句執行時間倒是可以做到。在語句前
Dim oldTime As Date = Now
在過程語句后加
Dim newTime As Date = Now
Dim differenceInSeconds As Long = DateDiff(DateInterval.Second, oldTime, newTime)
textbox1.text= "共用了:" differenceInSeconds "秒!"
在VB.net中如何取變量、結構、數組、函數的地址?
當然可以的,需要System.Runtime.InteropServices?命名空間中的?Marshal?類
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()?'取得整形數組首地址指針
MsgBox(Marshal.ReadInt32(pi,?0))?'讀回整形變量指針指向的值
MsgBox(Marshal.ReadInt32(pai,?0?*?4))?'讀回數組的第一個元素
MsgBox(Marshal.ReadInt32(pai,?1?*?4))?'讀回數組的第二個元素
MsgBox(Marshal.ReadInt32(pai,?2?*?4))?'讀回數組的第三個元素
'-----下面是結構--------------------------
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()?'取得結構首地址指針?
MsgBox(Marshal.ReadInt32(pm_p,?0?*?4))?'讀回結構的第一個值
MsgBox(Marshal.ReadInt32(pm_p,?1?*?4))?'讀回結構的第二個值
End?Sub
End?Class
VB中數組怎么定義
是這么定義的:
數組中的第一個元素的下標稱為下界,最后一個元素的下標稱為上界,其余的元素連續地分布在上下界之間,且數組在內存中也是用連續的區域來存儲的,所以數組每維的長度不能超過Long數據類型的最大值,即264—1=263。
把VB.NET數組當作一個對象來處理,就意味著數組類型是單個引用類型,數組變量包括指向構成數組元素、數組維和數組長度等數據的指針,數組之間互相賦值但僅僅是在相互復制指針,數組繼承了System名字空間的Array類。
VB.NET中的數組有兩種類型:定長數組和動態數組。
擴展資料:
1、數組的使用
在’VB 6.0中,能夠用For Each來循環遍歷一個數組。
比如:
Dim?x?As?Integer
F0r?Each?x?In?arrayl
Console.WriteLine(x)
Next?
2、在VB.NET中能夠使用For循環和數組長度來遍歷一個數組。
比如:
Dim?i?As工nteger? ?
F0r?i=0?T0??(arrayl.Length-1)
(此處空一行)
Console.WriteLine(arrayl(1)J
Next?i
VB如何獲取數組地址
看你的提示,好像是你把vb6.0的代碼直接用到了vb.net上,下面是復制過來的,希望對你有用。
vb.net不再使用VarPtr來返回變量的地址了,其實是net不提倡使用指針和地址。
net有了一個新的叫做托管的概念,建議了解一下,net里面的變量地址都是不確定的,生存周期也不確定,是由托管機制來管理內存,程序員不必再糾結于內存的管理而浪費精力。
解決方法:可以使用byref聲明為整型變量直接將變量地址傳過去就好,不用聲明為什么指針的。
或者可以試試下面這個:
GCHandle 類的 AddressOfPinnedHandle 方法可以提供類似的功能.
網頁標題:vb.net數組指針 vbnet數組操作
網站路徑:http://www.xueling.net.cn/article/hejgpi.html