[英]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.