网站建设资讯

NEWS

网站建设资讯

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://njwzjz.com/article/hejgpi.html