VB.net或VB数组,请数组高手请帮忙!

twtyypeuxk 2010-01-07 10:53:14
VB 或VB.net 如何定义和使用类似PHP中里的数组啊?
例:
Ar[0]["a"]="aaaa";
Ar[1]["b"]="bbb";
Ar[2]["c"]="ccc";
Ar[3]["d"]="ddd";

我想在VB或VB.net中定义和使用那样的数组!应该怎么做!请高手指教!
...全文
334 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cosmo_sei 2010-02-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cosmo_sei 的回复:]
要获得形式上的一直应该要自己血类的索引器的。
而且ar对象上和ar里的元素都要定义索引器。

vb.net代码中就有这样的效果,如下例子:

VB.NET codeDim dtAsNew System.Data.DataTableDim o= dt.Rows(1)("a")
[/Quote]

哎呀呀,发现打了一堆错别字,还没有权限编辑!!
这句话是“
要获得形式上的一致应该要自己定义类的索引器的。
而且ar对象上和ar里的元素都要定义索引器。
”。
cosmo_sei 2010-02-02
  • 打赏
  • 举报
回复
要获得形式上的一直应该要自己血类的索引器的。
而且ar对象上和ar里的元素都要定义索引器。

vb.net代码中就有这样的效果,如下例子:


Dim dt As New System.Data.DataTable
Dim o = dt.Rows(1)("a")
水猿兵团五哥 2010-02-02
  • 打赏
  • 举报
回复
路过看看
beiguren 2010-02-02
  • 打赏
  • 举报
回复
定义一个Dictionary(of String,string)的一维数组,然后初始化每个元素,就可以使用了:
Dim Ar(4) As Dictionary(Of String, String)

For i As Integer = 0 To Ar.Length - 1
Ar(i) = New Dictionary(Of String, String)
Next

Ar(0)("a") = "aaaa"
Ar(1)("b") = "bbb"
Ar(2)("c") = "ccc"
Ar(3)("d") = "ddd"
ckp00001 2010-02-02
  • 打赏
  • 举报
回复
'定义一个类结构的数组:
Class Customer
Private m_Name As String
Private m_Tel As String

Public Property Name(ByVal N As String) As String
Get
Name = m_Name
End Get
Set(ByVal Value As String)
m_Name = Value
End Set

End Property
Default Property Tel(ByVal T As String) As String
Get
Tel = m_Tel
End Get
Set(ByVal Value As String)
m_Tel = Value
End Set

End Property

End Class

'调用时的代码:
Dim Ar(5) As Customer
Dim i As Integer
For i = 0 To 5
Ar(i) = New Customer()
Next
Ar(0)("Name") = "Alen"
Ar(0)("Tel") = "88812345"
Debug.WriteLine(Ar(0)("Name"))
'返回 88812345


'如果想用关键字查询,可以定义一个字典数组:
'定义字典。
Dim DicArray(10) As Dictionary(Of String, String)
For i = 0 To 10
DicArray(i) = New Dictionary(Of String, String)
Next

DicArray(0).Item("Alen") = "outing"
DicArray(0).Item("Andrea") = "eating1"
Debug.WriteLine(DicArray(0)("Andrea"))
Debug.WriteLine(DicArray(0)("Alen"))
DicArray(0)("Andrea") = "123"
Debug.WriteLine(DicArray(0)("Andrea"))
'查询时请捕捉异常,因为可能没有该关键字。
cobra009 2010-02-02
  • 打赏
  • 举报
回复
这不是典型的HASHMAP吗?
Doctor_Cao 2010-01-08
  • 打赏
  • 举报
回复
学习了!
十八道胡同 2010-01-08
  • 打赏
  • 举报
回复
Module Module1

Sub Main()
Dim Ar(0, 3) As String

Ar(0, 0) = "aaa"
Ar(0, 1) = "bbb"
Ar(0, 2) = "ccc"
Ar(0, 3) = "ddd"

End Sub

End Module
kuhura 2010-01-08
  • 打赏
  • 举报
回复
配合集合使用?
kzccomputer 2010-01-08
  • 打赏
  • 举报
回复
public Ar(0,3) as string

Ar(0,0)="aaa"
Ar(0,1)="bbb"
Ar(0,2)="ccc"
Ar(0,3)="ddd"



lliai 2010-01-08
  • 打赏
  • 举报
回复
用结构数组就好了
Type ArX '存储接收数据
tel As string
username as string
End Type
Global Ar(2) As ArX

twtyypeuxk 2010-01-08
  • 打赏
  • 举报
回复
谢谢各位!可以你们说的那些方法只是二维数组的用法!其实我Ar[0]["a"]="aaaa"; 中的["a"]是有代表意义的,就比如:
Ar[0]["username"]="aaaa";
Ar[0]["tel"]="13800138000";
Ar[1]["username"]="bbbb";
Ar[1]["tel"]="1860";

16,720

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧