Diskuze: Zoznam List( Of T) prepisuje hodnoty
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
řekl bych, že to je logické chování, když mu pokaždé ukládáš hodnoty na indexy 0,1 a 2
Neviem či si si to odskúšal, ale chceš povedať, že pri každom novom prechode cyklom, treba iné indexy ?? Alebo ako dosiahnuť , aby som mal v kolekcii tri záznamy polí, bez toho, aby som polia pretypoval na string. ?
Problém je v tom, že do listu přidáváš referenci na to samé pole, tudíž na každém indexu v listu budeš mít odkaz na to samé místo v paměti a proto, když v každém průchodu cyklu změníš hodnoty v tom poli, tak se to projeví v celém listu. Pokud chceš, aby to bylo nezávislé, tak musíš v každém průchodu cyklem vytvořit nové pole, naplnit a to teprve pak přidat do listu. Zhruba nějak takto:
Dim arrList As New List(Of Array)
Dim count As Integer = 2
Dim depth As Integer = 3
For n As Integer = 1 To depth
Dim num(count) As Byte
For i As Integer = 0 To count
num(i) = i * n + n
Next
arrList.Add(num)
Next
Ďakujem Antonín Tonini. Toto je to správne vysvetlenie o ktoré mi šlo.
Zobrazeno 6 zpráv z 6.