如何在vb .net中观察数组中的更改

时间:2013-11-20 05:57:09

标签: arrays 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的新手。谢谢。

3 个答案:

答案 0 :(得分:2)

我不相信你能做到这一点。

对于常规变量,我建议使用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

答案 1 :(得分:0)

添加列表框,每当满足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

答案 2 :(得分:0)

编辑:(没有注意到你在做我发布的内容)

我会将For循环更改为Do While循环,因为我在For循环中比较子字符串时发现了问题,请尝试查看是否不能解决问题......

(我甚至尝试过使用子串的循环失败的Microsoft代码)

另外,我强烈建议您使用MessageBox.Show(sMsg)或Debug.WriteLine(sMsg)来确保数据正确...