Oppure

Loading
05/01/10 12:51
the_angel
CIao ragazzi...devi disegnare, per esempio un poligono...
ho un problema nel definire i punti...

se li definisco tutti in una volta così...

Dim pts() As Point = { _
    '       New Point(10, 10), _
    '       New Point(200, 100), _
    '       New Point(300, 50), _
    '       New Point(350, 120), _
    '       New Point(240, 260), _
    '       New Point(120, 150), _
    '       New Point(50, 310), _
    '       New Point(70, 190) _
    '   }


funziona...

se li definisco (e per necessità posso farlo solo così, perché non li so a priori)
così

Dim punti() As Point = Nothing
punti(n) = New Point(25, 25)
punti(n+1) = New Point(35, 40)
ecc...


Object reference not set to an instance of an object.

come faccio a costruire un array di punti "un po' alla volta" ?
aaa
05/01/10 21:20
secretfabios
Prova cosi :k:
Dim punti(0 To 100000) As Point
        Dim n As Integer
        punti(n) = New Point(25, 25)
        punti(n + 1) = New Point(35, 40)


Non credo ke farai poligoni di 100001 punti
Ultima modifica effettuata da secretfabios 05/01/10 21:22
aaa
06/01/10 16:22
the_angel
Postato originariamente da secretfabios:

Prova cosi :k:
Dim punti(0 To 100000) As Point
        Dim n As Integer
        punti(n) = New Point(25, 25)
        punti(n + 1) = New Point(35, 40)


Non credo ke farai poligoni di 100001 punti


grazie mille :-)
aaa
07/01/10 16:32
Il Totem
Approccio completamente sbagliato. Utilizzi una gran quantità di memoria inutilmente. E se volessi un poligono da 1000002 punti non potrei farlo, quindi anche inefficiente.
Ecco perchè prendono in giro gli informatici dicendo che per loro 100 (o 100'000 in questo caso) è una buona approssimazione di +Infinito.

La soluzione più corretta è una lista:
Dim Punti As New List(Of Point)
Punti.Add(New Point(20, 30))
'...
aaa
08/01/10 12:55
the_angel
Ah...
però...grazie mille totem, bella soluzione :k:
aaa