怎样定义一个二维的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