Vb.net 如何与ArrayList中的结构交互?
我需要帮助学习如何使结构与ArrayList一起工作。我正在尝试制作一个允许用户输入帐户的程序。这是一个家庭作业,教授希望使用ArrayList而不是list 账户包括名字、姓氏、账号和余额。用户可以使用“上一页”和“下一页”按钮浏览帐户,并使用“新建”、“保存”和“添加”按钮创建或更改帐户。我最好奇的是我如何在整个arraylist中循环,以及如何在某个索引处调用结构中的某个变量。例如,我想在firstnametextbox中显示名字。当我按下“下一步”按钮时,如何使FirstNameTextbox.Text='帐户结构的名字,在第二个arraylist位置' 这是我的密码 公共类会计信息表Vb.net 如何与ArrayList中的结构交互?,vb.net,arraylist,structure,Vb.net,Arraylist,Structure,我需要帮助学习如何使结构与ArrayList一起工作。我正在尝试制作一个允许用户输入帐户的程序。这是一个家庭作业,教授希望使用ArrayList而不是list 账户包括名字、姓氏、账号和余额。用户可以使用“上一页”和“下一页”按钮浏览帐户,并使用“新建”、“保存”和“添加”按钮创建或更改帐户。我最好奇的是我如何在整个arraylist中循环,以及如何在某个索引处调用结构中的某个变量。例如,我想在firstnametextbox中显示名字。当我按下“下一步”按钮时,如何使FirstNameText
Dim objaccount As account
Dim accounts As New ArrayList
Public Structure account
Public RecordNum As Integer
Public FirstName As String
Public LastName As String
Public balance As Double
Public account As Integer
End Structure
Private Sub AccountInformationForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Example account to start off with
objaccount.RecordNum = 0
objaccount.FirstName = "Jesus"
objaccount.LastName = "Christ"
objaccount.balance = 100
objaccount.account = 1
accounts.Add(objaccount)
'Display First Record
firstTextBox.Text = objaccount.FirstName
lastTextBox.Text = objaccount.LastName
balanceTextBox.Text = objaccount.balance
accountTextBox.Text = objaccount.account
End Sub
Private Sub nextButton_Click(sender As Object, e As EventArgs) Handles nextButton.Click
objaccount.RecordNum += 1
If objaccount.RecordNum > accounts.Count Then
objaccount.RecordNum = 0
End If
'Display Current Record
firstTextBox.Text = objaccount.FirstName
lastTextBox.Text = objaccount.LastName
balanceTextBox.Text = objaccount.balance
accountTextBox.Text = objaccount.account
End Sub
Private Sub previousButton_Click(sender As Object, e As EventArgs) Handles previousButton.Click
'Before paging away, save the current form data in the current record
objaccount.RecordNum -= 1
'Check for wrap around
If objaccount.RecordNum < 0 Then 'the first, zeroth, element = index of 0
objaccount.RecordNum = accounts.Count
End If
firstTextBox.Text = objaccount.FirstName
lastTextBox.Text = objaccount.LastName
balanceTextBox.Text = objaccount.balance
accountTextBox.Text = objaccount.account
End Sub
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
Dim upper As Integer = accounts.Count
objaccount.RecordNum = (upper + 1)
If firstTextBox.Text = "" Then
MsgBox("Please enter a name")
Else
objaccount.FirstName = firstTextBox.Text
End If
If lastTextBox.Text = "" Then
MsgBox("Please enter a name")
Else
objaccount.LastName = lastTextBox.Text
End If
If balanceTextBox.Text = "" Then
MsgBox("Please enter a name")
Else
objaccount.balance = balanceTextBox.Text
End If
If accountTextBox.Text = "" Then
MsgBox("Please enter a name")
Else
objaccount.account = accountTextBox.Text
End If
accounts.Add(objaccount)
firstTextBox.Clear()
lastTextBox.Clear()
balanceTextBox.Clear()
accountTextBox.Clear()
End Sub
Private Sub Save_Click(sender As Object, e As EventArgs) Handles Save.Click
Dim upper As Integer = accounts.Count
objaccount.RecordNum = (upper + 1)
If firstTextBox.Text = "" Then
MsgBox("Please enter a name")
Else
objaccount.FirstName = firstTextBox.Text
End If
If lastTextBox.Text = "" Then
MsgBox("Please enter a name")
Else
objaccount.LastName = lastTextBox.Text
End If
If balanceTextBox.Text = "" Then
MsgBox("Please enter a name")
Else
objaccount.balance = balanceTextBox.Text
End If
If accountTextBox.Text = "" Then
MsgBox("Please enter a name")
Else
objaccount.account = accountTextBox.Text
End If
accounts.Add(objaccount)
End Sub
Private Sub btnNew_Click(sender As Object, e As EventArgs) Handles btnNew.Click
firstTextBox.Clear()
lastTextBox.Clear()
balanceTextBox.Clear()
accountTextBox.Clear()
Dim upper As Integer = accounts.Count
objaccount.RecordNum = (upper + 2)
accountTextBox.Text = objaccount.RecordNum
End Sub
Dim objaccount As account
将帐户设置为新的ArrayList
公共结构账户
Public RecordNum为整数
公共名作为字符串
公共LastName作为字符串
公共收支双倍增长
作为整数的公共帐户
端部结构
Private Sub AccountInformationForm_Load(发送者作为对象,e作为事件参数)处理MyBase.Load
'要开始使用的示例帐户
objaccount.RecordNum=0
objaccount.FirstName=“耶稣”
objaccount.LastName=“基督”
objaccount.balance=100
objaccount.account=1
accounts.Add(对象计数)
'显示第一条记录
firstTextBox.Text=objaccount.FirstName
lastTextBox.Text=objaccount.LastName
balanceTextBox.Text=objaccount.balance
accountTextBox.Text=objaccount.account
端接头
Private Sub nextButton_Click(发送者作为对象,e作为事件参数)处理nextButton。单击
objaccount.RecordNum+=1
如果objaccount.RecordNum>accounts.Count,则
objaccount.RecordNum=0
如果结束
'显示当前记录
firstTextBox.Text=objaccount.FirstName
lastTextBox.Text=objaccount.LastName
balanceTextBox.Text=objaccount.balance
accountTextBox.Text=objaccount.account
端接头
Private Sub previousButton\u Click(发件人作为对象,e作为事件参数)处理previousButton。单击
'在分页之前,将当前表单数据保存在当前记录中
objaccount.RecordNum-=1
“检查是否有缠绕
如果objaccount.RecordNum<0,则“第一个、第零个元素=0的索引”
objaccount.RecordNum=accounts.Count
如果结束
firstTextBox.Text=objaccount.FirstName
lastTextBox.Text=objaccount.LastName
balanceTextBox.Text=objaccount.balance
accountTextBox.Text=objaccount.account
端接头
私有子btnAdd_Click(发送者作为对象,e作为事件参数)处理btnAdd。单击
将上限设置为整数=accounts.Count
objaccount.RecordNum=(上限+1)
如果firstTextBox.Text=”“,则
MsgBox(“请输入名称”)
其他的
objaccount.FirstName=firstTextBox.Text
如果结束
如果lastTextBox.Text=”“,则
MsgBox(“请输入名称”)
其他的
objaccount.LastName=lastTextBox.Text
如果结束
如果balanceTextBox.Text=”“,则
MsgBox(“请输入名称”)
其他的
objaccount.balance=balanceTextBox.Text
如果结束
如果accountTextBox.Text=”“,则
MsgBox(“请输入名称”)
其他的
objaccount.account=accountTextBox.Text
如果结束
accounts.Add(对象计数)
firstTextBox.Clear()
lastTextBox.Clear()
balanceTextBox.Clear()
accountTextBox.Clear()
端接头
私有子保存\单击(发送者作为对象,e作为事件参数)处理保存。单击
将上限设置为整数=accounts.Count
objaccount.RecordNum=(上限+1)
如果firstTextBox.Text=”“,则
MsgBox(“请输入名称”)
其他的
objaccount.FirstName=firstTextBox.Text
如果结束
如果lastTextBox.Text=”“,则
MsgBox(“请输入名称”)
其他的
objaccount.LastName=lastTextBox.Text
如果结束
如果balanceTextBox.Text=”“,则
MsgBox(“请输入名称”)
其他的
objaccount.balance=balanceTextBox.Text
如果结束
如果accountTextBox.Text=”“,则
MsgBox(“请输入名称”)
其他的
objaccount.account=accountTextBox.Text
如果结束
accounts.Add(对象计数)
端接头
私有子btnNew\u单击(发送者作为对象,e作为事件参数)处理btnNew。单击
firstTextBox.Clear()
lastTextBox.Clear()
balanceTextBox.Clear()
accountTextBox.Clear()
将上限设置为整数=accounts.Count
objaccount.RecordNum=(上限+2)
accountTextBox.Text=objaccount.RecordNum
端接头
结束类最好的方法是用一个类替换结构,用一个
列表(共T个)
替换ArrayList,ArrayList
s已经过时。很抱歉,这是为了一个家庭作业,教授希望我使用ArrayList和结构。我在谷歌上看到arraylist已经过时了,这正是我们的教育系统没有为现实生活做好准备的原因……很抱歉,在你浏览的时候,我让教授阅读了一下,最好的方法是用一个类替换结构,用一个List(Of t)
替换arraylist,ArrayList
s已经过时。很抱歉澄清一下,这是一个家庭作业,教授希望我使用ArrayList和结构。我在谷歌上看到arraylist已经过时了,这正是我们的教育系统没有为现实生活做好准备的原因……很抱歉,在你浏览和浏览的时候,让教授阅读