none
請問一下~~有關VB.NET的陣列問題~~ RRS feed

  • 問題

  • 請問一下,我是用兩個按鈕來輸入資料,但是兩個按鈕雖然程式不同,可是都是儲存再同一個陣列裡面,可是當按鈕一輸入一筆資料,按鈕二也輸入一筆資料,剛剛按鈕一儲存在陣列裡的資料就會被按鈕二輸入的資料給蓋過去~~~請問該怎麼辦???
    2006年8月17日 下午 07:14

解答

  • 前一篇不是已經有人回答了嗎?

    不過如果要動態擴充陣列的話,用 ArrayList 會比較好一點 .

    2006年8月21日 上午 11:37
    版主

所有回覆

  • 阵列不会自动累加,如:

    'button 1 click event

    strArray(0)="a"

    strArray(1)="b"

    'button 2 click event

    strArray(0)="c"

    strArray(1)="d"

    此时

    strArray(0)的值是"c",strArray(1)的值是"d"。

    如果要累加要自己现实:

    'button 1 click event

    strArray(0)="a"

    strArray(1)="b"

    'button 2 click event

    redim strArray(4)

    strArray(3)="c"

    strArray(4)="d"

    2006年8月18日 上午 01:58
  • 拜託~有人可以回答依下這個問題嗎???
    2006年8月21日 上午 11:15
  • 前一篇不是已經有人回答了嗎?

    不過如果要動態擴充陣列的話,用 ArrayList 會比較好一點 .

    2006年8月21日 上午 11:37
    版主
  • 可以請問一下,我現在輸入一筆資料,用一個迴圈來讀資料,然後將他放到陣列裡,現在我再輸入一筆資料,經過迴圈,放到陣列裡,但是就會把上一筆的資料給蓋過去,請問一下這用arraylist可以解決的嗎???
    2006年8月23日 上午 07:22
  • 你只要使用 Add(),前一筆資料就不會被覆蓋 .

    處理完後,再用 ToArray() 把它變成陣列就可以了 .

    2006年8月23日 上午 08:46
    版主
  •  請問一下~~這個程式大概要怎麼改用arraylist比較好,而且資料不會一直被覆蓋~~


        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

       

    Dim a, b, king As String
            a = TextBox1.Text
            b = TextBox2.Text
            king = a + ":" + b + ";"
            Dim st As String = king
            Dim m() As String = Split(st, ";")
            Dim j As Integer
            Dim p() As String
            For j = 0 To UBound(m) - 1
                p = Split(m(j), ":")
                x(j) = p(0)
                y(j) = p(1)
                ListBox1.Items.Add(x(j))

            next

    end sub

    2006年8月23日 下午 08:54
  • Hi

    如果要資料不被覆蓋

    只要在Module裡面宣告Arraylist就可以了啊

    Module Module1
        Public ary As New ArrayList
    End Module

     

    Private Sub btn_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_add.Click
            Module1.ary.Add(Me.txtbox_value)
            System.Windows.Forms.MessageBox.Show(ary.Count.ToString())
        End Sub

    2006年8月24日 上午 01:53
  • 請問一下~那我要怎麼把我的陣列 x(j) , y(j)  用add(),因為我改過很多次,執行的時候都發生錯誤!!!

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

       

    Dim a, b, king As String
            a = TextBox1.Text
            b = TextBox2.Text
            king = a + ":" + b + ";"
            Dim st As String = king

            dim x(20),y(20) as string
            Dim m() As String = Split(st, ";")
            Dim j As Integer
            Dim p() As String
            For j = 0 To UBound(m) - 1
                p = Split(m(j), ":")
                x(j) = p(0)
                y(j) = p(1)
                ListBox1.Items.Add(x(j))

            next

    end sub

    2006年8月27日 上午 07:28