Arrays 如何向数组添加结构?

Arrays 如何向数组添加结构?,arrays,vb.net,structure,Arrays,Vb.net,Structure,我想通过此按钮将这些信息添加到数组中,如何才能做到这一点?此外,我需要使用此结构添加至少5个员工的结果,并将其添加到数组。您可以将strinfo声明为字符串数组来存储员工信息。因此,您的代码如下所示: Private Structure Staff Public Name As String Public Number As Integer Public Total As Integer Public Status As String End Structure

我想通过此按钮将这些信息添加到数组中,如何才能做到这一点?此外,我需要使用此结构添加至少5个员工的结果,并将其添加到数组。

您可以将
strinfo
声明为字符串数组来存储员工信息。因此,您的代码如下所示:

Private Structure Staff
    Public Name As String
    Public Number As Integer
    Public Total As Integer
    Public Status As String

End Structure

Dim Staffdata As Staff

Private Sub btnAddArray_Click(sender As Object, e As EventArgs) Handles btnAddArray.Click
    Dim strinfo As String


    Staffdata.Name = txtStaffmem.Text
    Staffdata.Number = txtStaffNum.Text
    Staffdata.Total = lblTotal.Text

    If radFullTime.Checked = True Then
        Staffdata.Status = "Full time"
    ElseIf radPartTime.Checked = True Then
        Staffdata.Status = "Part time"
    End If

    strinfo = ("Name: " & Staffdata.Name & ", Number: " & Staffdata.Number & ",Status: " & Staffdata.Status & ",Total sales: " & Staffdata.Total)

常用的方法是重写结构中的
ToString
方法

Private Structure Staff
    Public Name As String
    Public Number As Integer
    Public Total As Integer
    Public Status As String
End Structure
Dim Staffdata As Staff
Dim stafCount As Integer=0 ' To calculate array index
Dim strinfo() As String ' Declare staff info as a string
Private Sub btnAddArray_Click(sender As Object, e As EventArgs) Handles btnAddArray.Click
    Staffdata.Name = txtStaffmem.Text
    Staffdata.Number = txtStaffNum.Text
    Staffdata.Total = lblTotal.Text
    If radFullTime.Checked = True Then
       Staffdata.Status = "Full time"
    ElseIf radPartTime.Checked = True Then
       Staffdata.Status = "Part time"
    End If
    strinfo(stafCount) = "Name: " & Staffdata.Name & ", Number: " & Staffdata.Number & ",Status: " & Staffdata.Status & ",Total sales: " & Staffdata.Total
    stafCount +=1 ' Increment array index
End Sub
使用一个新的方法存储数据

在单击手柄中,向列表中添加新项目

Private ReadOnly StaffData As New List(Of Staff)
现在,如果要创建包含所有项的单个字符串,可以执行以下操作:

Private Sub btnAddArray_Click(sender As Object, e As EventArgs) Handles btnAddArray.Click
    Me.StaffData.Add(New Staff() With {
        .Name = Me.txtStaffmem.Text,
        .Number = Integer.Parse(Me.txtStaffNum.Text),
        .Total = Integer.Parse(Me.lblTotal.Text),
        .Status = If(Me.radFullTime.Checked, "Full time", If(Me.radPartTime.Checked, "Part time", ""))
    })
End Sub
+1用于
ToString
列表而非数组的专业方法。
Private Sub btnAddArray_Click(sender As Object, e As EventArgs) Handles btnAddArray.Click
    Me.StaffData.Add(New Staff() With {
        .Name = Me.txtStaffmem.Text,
        .Number = Integer.Parse(Me.txtStaffNum.Text),
        .Total = Integer.Parse(Me.lblTotal.Text),
        .Status = If(Me.radFullTime.Checked, "Full time", If(Me.radPartTime.Checked, "Part time", ""))
    })
End Sub
Dim all As String = String.Join("; ", (From item As Staff In Me.StaffData Let s = item.ToString() Select s))