簡體   English   中英

如何在vb .net中觀察數組中的更改

[英]how to observe changes in an array in vb .net

我有一個數組A,我只想監視該數組中的更改,返回該數組的更改位置。

 myOldTextBox = myTextBox
            myTextBox = New TextBox() {TextBox1, TextBox2, TextBox3, TextBox4, TextBox5}
            Dim i As Integer
            For i = 0 To myTextBox.Length - 1
                If myTextBox(i).Text <> myOldTextBox(i).Text Then
                    Dim fs As Integer
                    fs = farray.Length
                    farray(fs) = i
                End If

            Next i

我是vb .net的新手。 謝謝。

我不相信你能做到這一點。

對於常規變量,我建議使用get / set。

對於數組,我建議創建一個更新值的方法,而不是直接設置值(您可以通過使數組為私有並僅通過get和set方法訪問它來強制執行此操作)。

在那種方法中,您可以隨心所欲地做任何事情。

偽代碼:

private _array
Public Function GetArray(ByVal key As String) As String
    return _array(key)
End Function

Public Function SetArray(ByVal key As String, ByVal val As String) as String
    _array(key) = val

   return val;
End Function

添加列表框,每當滿足if條件時,將內容添加到列表框

        myTextBox = New TextBox() {TextBox1, TextBox2, TextBox3, TextBox4, TextBox5}
        Dim i As Integer
        For i = 0 To myTextBox.Length - 1
            If myTextBox(i).Text <> myOldTextBox(i).Text Then
                Dim fs As Integer
                fs = farray.Length
                farray(fs) = i

                Listbox1.items.add(Format(now,"yyyy-MM-dd hh:mm:ss") & _
                " array number changed: " & i
            End If

        Next i

編輯:(沒注意到你在做我發布的內容)

我會將For循環更改為Do While循環,因為我在For循環中比較子字符串時發現了問題,請嘗試並查看是否不能解決您的問題...

(我甚至嘗試過使用子串的循環失敗的Microsoft代碼)

另外,我強烈建議您使用MessageBox.Show(sMsg)或Debug.WriteLine(sMsg)來確保數據正確...

暫無
暫無

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

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