vb.net怎么取数组,vb中定义数组的方法

VB如何获取数组地址

看你的提示,好像是你把vb6.0的代码直接用到了vb.net上,下面是复制过来的,希望对你有用。

建宁网站建设公司创新互联公司,建宁网站设计制作,有大型网站制作公司丰富经验。已为建宁近千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的建宁做网站的公司定做!

vb.net不再使用VarPtr来返回变量的地址了,其实是net不提倡使用指针和地址。

net有了一个新的叫做托管的概念,建议了解一下,net里面的变量地址都是不确定的,生存周期也不确定,是由托管机制来管理内存,程序员不必再纠结于内存的管理而浪费精力。

解决方法:可以使用byref声明为整型变量直接将变量地址传过去就好,不用声明为什么指针的。

或者可以试试下面这个:

GCHandle 类的 AddressOfPinnedHandle 方法可以提供类似的功能.

在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.net 数组的定义方法

1、点击VS工具。

2、打开后,新建一个Windows窗体应用程序。

3、新建完毕后,如图所示。

4、拖动一个按钮。

5、定义数组最常见的方法,如图示。

6、运行后,点击按钮,弹出提示正常。

7、定义数组第二种方法,属于动态的方法。

8、运行后,点击按钮,数组成功输出。

vb.net 从数组{5,7,11,13,17,19}中取一个数,取三次(可以是相同的数),三次之和有几个值?求代码!

Sub 和()

Dim Arr, Dic As Object, i, j, k

Set Dic = CreateObject("Scripting.Dictionary")

Arr = Array(5, 7, 11, 13, 17, 19)

For i = 0 To UBound(Arr)

For j = 0 To UBound(Arr)

For k = 0 To UBound(Arr)

Dic(Arr(i) + Arr(j) + Arr(k)) = ""

Next k

Next j

Next i

MsgBox Dic.Count

Set Dic = Nothing

End Sub

结果为22种不同的和值。

如何读取数据表一列的数据到数组 VB.NET

不知道你数据表中那一列数据是什么类型的数据,所以我全部按字串来处理。

首先声明一个数组,和即将用来计数的数字:

dim nums() as string

Dim i As Integer = 0

mycon.open '然后,连接数据库,按你的声明来:

dim mycom as new sqlcommand("select * from 你要读取数据的表", mycon)'接下来,声明一个执行数据库语句命令的com:

'然后,对数据库返回的结果进行操作(一般会将执行结果存放起来,再操作,我这里省去了存放这步):

With mycom.ExecuteReader() '对返回的结果,即查询到的表进行操作 

If .HasRows Then    '判断是否有数据,有数据就进入下面进行读取

Do While .Read   '读取一行数据

If Not (String.IsNullOrEmpty(.GetString(0))) Then  '检查表列的数据是否为空,不为空就进入下面,进行保存。这里要说下getstring这个,是读取某列数据中的字串,如果该列数据不是字串,那么需要用getvalue(0),0代表该列在表中的位置,从0开始,即0表示第一列。

ReDim Preserve nums(i)   '重置数组大小,即为即将要保存的数据准备一个位置 

nums(i) = .GetString(0)  '将数据放入到数组中 

i = i + 1  '循环,直到结束                    

End If                

Loop            

End If        

End With

mycon.close '最后记得要关闭数据库连接

数据存入数组很简单,其实难点是连接数据库,从数据库拿数据,这难点原理简单,但因为格式,数据类型等问题,很容易出错。

以上,数据到了数组,你应该会操作了吧。其实建议直接对从数据库返回的结果进行操作,不需要用数组的。


当前名称:vb.net怎么取数组,vb中定义数组的方法
本文来源:http://scyanting.com/article/hcshji.html