簡體   English   中英

如何從另一個類 VB.NET 向數組添加項

[英]How To Add Item To An Array From Another Class VB.NET

好的,所以我有一個類元素和一個表單。

我的類元素中有一個數組,我需要它從表單中設置它...

基本上我在做什么:

----Form1----

*DataClass.VarArray()*

----數據類----

Public VarArray() As String

我需要知道,如何將一個項目添加到一個數組中,以及如何從另一個類中獲取它...請

我已經嘗試過不同的方法,比如列一個清單,但沒有奏效

新:

因此,我在表單中添加了一個TextBox和RichTextBox。

TextBoxUserName(TextBox):包含我們要輸入到列表中的用戶名

TextBoxListOfUsers(RichTextBox):包含通過按鈕添加的用戶名...僅用於查看我們在做什么。

現在,當您單擊NewUserBT按鈕時,如果不是空白,空格,尚未包含ecc,則會將字符串(用戶名)添加到列表中。

退房並告訴我...

Public Class Form1
    ' Declare "usersClass" and its type
    Dim usersClass As DataClass

    Public Sub New()
        InitializeComponent()
        ' now give to "usersClass" a value, an instance, so...
        usersClass = New DataClass()
    End Sub

    Public Sub NewUserBT_Click() Handles NewUserBT.Click
        Dim new_user As String = Me.TextBoxUserName.Text

        ' If is not blank, empty or white spaces, and is not contained in the list...
        If Not String.IsNullOrEmpty(new_user) AndAlso Not String.IsNullOrEmpty(new_user) AndAlso Not Me.usersClass.usersNameList.Contains(new_user) Then
            usersClass.usersNameList.Add(new_user)
            Me.TextBoxListOfUsers.Text += new_user + vbCrLf ' name + linefeed
        End If
    End Sub
End Class

Public Class DataClass
    ' Declare "usersNameList" var and its type
    Public usersNameList As List(Of String)

    Public Sub New()
        ' When we "usersClass = New DataClass()" we will go here and set the instance of userNameList
        usersNameList = New List(Of String)
    End Sub
End Class

舊:

Public Class Form1
    Dim foo As ArrayClass

    Public Sub New()
        InitializeComponent()
        foo = New ArrayClass()
    End Sub

    Public Sub pippo() Handles Button1.Click
        foo.array(1) = "something"
        Button1.Text = foo.array(1)
    End Sub
End Class

Public Class ArrayClass
    Public array(10) As String

    Public Sub New()

    End Sub
End Class

我想這可能是您要尋找的東西。 您可以在表單類中使用該數組,嘗試一下。

小費:

Dim strings_list As List(Of String) ' this is a list of strings
Dim strings_array(10) As String ' this is an array to hold 10 strings

如果您不知道大小會如何,我建議您使用List(Of T)而不是數組。

我將您的字段更改為財產。 字段通常是私有的。

在按鈕單擊事件中,我首先必須聲明該類的實例。 然后使用實例變量將項目分配給列表。

Public Class Data
    Public ReadOnly Property lst As New List(Of String)

End Class
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim dat As New Data
    dat.lst.Add("Hello")
End Sub

使用字段和數組

Public Class Data
    Public VarArray(10) As String 'Array needs a size to be created
End Class
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim dat As New Data
    dat.VarArray(0) = "Hello"
    Debug.Print(dat.VarArray(0))
End Sub

這個特定的VarArray只會是Data類的特定實例的一部分。 列表也是如此。 要共享數據,您將使屬性/字段共享。 然后,您可以在窗體中將其引用為Data.VarArray或Data.lst。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM