读书人

怎的定义一个二维的arrayList的类

发布时间: 2012-08-30 09:55:54 作者: rapoo

怎样定义一个二维的arrayList的类
项目中要获取 Card as string 和 Num as integer 两个数据类型

例如:

AAAA 10
BBBB 22
CCCC 15
DDDD 34
... ...

希望定义成一个类 myArrayListII,
通过
.ItemAdd(Card,Num) 增加

myArrayListII.ItemAdd("AAAA",5)
myArrayListII.ItemAdd("BBBB",6)

然后得到

myArrayListII.Item(0).Card="AAAA"
myArrayListII.Item(0).Num=5

myArrayListII.Item(1).Card="BBBB"
myArrayListII.Item(1).Num=6

代码中希望只用到arrayList.add 而不希望使用 ReDim

请高手帮我写一个代码片段,谢谢了!!!

在线等待中...................................................................

[解决办法]
使用Dictionary<string, int>。
[解决办法]
有Dictionary不用非得自己定义一个

Dictionary<string,int> 分别取key 和value
[解决办法]
LZ的心目中只有ArrayList数据结构?

不知Hashtable和Dictionary为何物?
[解决办法]
这太麻烦了
先定义一个结构
public structure T
public Card as string
public num as integer
end structure
然后用这个
dim ar as list(of T)
引用时,用这个:
list(0).card
list(0).num
[解决办法]
如果完全按照你想的做,估计你要自己写个类了。
myArrayListII.ItemAdd("AAAA",5)
myArrayListII.ItemAdd("BBBB",6)
myArrayListII.Item(0).Card="AAAA"
myArrayListII.Item(0).Num=5
myArrayListII.Item(1).Card="BBBB"
myArrayListII.Item(1).Num=6

如果你只是想实现类似的功能的话完全可以使用6楼或下面的方法:
Dim var As Dictionary(Of String, Integer)

var = New Dictionary(Of String, Integer)()
var.Add("AAAA", 10)
var.Add("BBBB", 20)
var.Add("CCCC", 30)
var.Add("DDDD", 40)

MessageBox.Show(var.Item("AAAA")) '可以取得AAAA相对应的10
MessageBox.Show(var.Item("BBBB")) '可以取得BBBB相对应的20
MessageBox.Show(var.Item("CCCC")) '可以取得CCCC相对应的30
MessageBox.Show(var.Item("DDDD")) '可以取得DDDD相对应的40

[解决办法]
按你的思路写的代码:

VB.NET code
Public Class MyArrayList    Private _v As List(Of T)    Public Sub New()        _v = New List(Of T)()    End Sub    Public Property Item(ByVal i As Integer) As T        Get            Return _v(i)        End Get        Set(ByVal value As T)            _v(i) = value        End Set    End Property    Public Sub ItemAdd(ByVal Card As String, ByVal Num As Integer)        Dim t As New T        t.Card = Card        t.Num = Num        _v.Add(t)    End Sub    Public Class T        Private _card As String        Private _num As Integer        Public Property Card() As String            Get                Return _card            End Get            Set(ByVal value As String)                _card = value            End Set        End Property        Public Property Num() As Integer            Get                Return _num            End Get            Set(ByVal value As Integer)                _num = value            End Set        End Property    End ClassEnd Class 

读书人网 >VB Dotnet

热点推荐