Я работаю над надстройкой Revit, и в этой надстройке я пытаюсь использовать List(Of List(Of Curve))
, однако у меня проблема с доступом к данным из подсписков.
Dim ClosedCurveList As New List(Of List(Of Curve))
Dim ClosedCurve As new List (Of Curve)
For i=0 To FinalWallLines.Count-1
If FinalWallLines(i+1).GetEndPoint(0).X = FinalWallLines(i).GetEndPoint(1).X And _
FinalWallLines(i+1).GetEndPoint(0).Y = FinalWallLines(i).GetEndPoint(1).Y And _
FinalWallLines(i+1).GetEndPoint(0).Z = FinalWallLines(i).GetEndPoint(1).Z Then
ClosedCurve.Add(FinalWallLines(i))
Else
TaskDialog.Show("A",ClosedCurve.Count)
ClosedCurveList.Add(ClosedCurve)
TaskDialog.Show("B", ClosedCurveList(ClosedCurveList.Count-1).Count)
ClosedCurve.Clear()
End if
Next
TaskDialog.Show("C", ClosedCurveList.Count)
For i=0 To ClosedCurveList.Count-1
TaskDialog.Show(i,ClosedCurveList(i).Count)
next
Поэтому, когда я запускаю этот код, первый TaskDialog.Show("A",ClosedCurve.Count)
показывает мне, что все ClosedCurve
состоят из 4 кривых, что имеет смысл, так как все мои кривые образуют прямоугольники.
Мой второй TaskDialog.Show("B", ClosedCurveList(ClosedCurveList.Count-1).Count)
также возвращает 4 в качестве числа для каждого из подсписков, как и ожидалось.
Мой третий TaskDialog.Show("C", ClosedCurveList.Count)
возвращает 23.
Итак, из этого мы можем сделать вывод, что ClosedCurveList
- это список из 23 списков из 4 кривых.
Однако, во время моего цикла For i=0 To ClosedCurveList.Count-1
, мой TaskDialog.Show(i,ClosedCurveList(i).Count)
возвращает 23 0s.
Кто-нибудь знает, почему я не получаю 23 4s, как ожидалось, при попытке получить доступ к счетчику каждого из моих подсписков?