我偶然發現了一些我不太明白的邏輯。讓我們用以下代碼片段:對於每個變量像局部變量?
For Each ds As DerivedScale In List
If ds.ScaleID = scaleId Then
ds.ScaleID = ds.ScaleID + scaleStep
CType(List(myCounter + scaleStep), DerivedScale).ScaleID = scaleId
myDerivedScale = ds
ds = List(myCounter + scaleStep) <---------------------
List(myCounter + scaleStep) = myDerivedScale
Exit For
End If
myCounter += 1
Next
這篇文章是爲2條記錄改寫位置並更改序號(scaleid)而寫的。箭頭表示問題發生的位置。項目「ds」被更高/更低的對象1索引號替換。但是,這並不影響列表中的該對象。所以當我檢查時,項目ds沒有設置。
但是,當我看着ds.ScaleId = ds.ScaleID + scaleStep時,這反映在列表中。
所以我想知道的是:是「ds」在這裏像一個局部變量,我可以只改變它的屬性嗎?
在此先感謝。