Matrice dynamique d'objets
Bonjour,
Après quelques essais infructueux, j'ai réussi à faire tourner un petit programme qui instancie un objet de la classe à la fois (chaque objet est unique), le but étant d'implémenter la technique sur un très grand tableau dynamique de données.
Le programme implémente une classe de "nombres" et déclare une matrice dynamique d'objets de cette classe.
Est ce que la méthode utilisée ci-dessous est la bonne ou y a t-il plus simple, plus élégant, plus performant ?
Merci d'avance,
Bruno
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
Public Class Form1
Dim ArrayOfNumbers() As Numbers
Dim n As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
TextBox1.Text = 1
TextBox2.Text = 2
TextBox3.Text = 3
n = 0
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
n += 1
ReDim Preserve ArrayOfNumbers(n)
ArrayOfNumbers(n) = New Numbers(n)
ArrayOfNumbers(n).sItem1(n * CDbl(TextBox1.Text))
ArrayOfNumbers(n).sItem2(n * CDbl(TextBox2.Text))
ArrayOfNumbers(n).sItem3(n * CDbl(TextBox3.Text))
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
MessageBox.Show(ArrayOfNumbers(n).gItem1.ToString)
End Sub
End Class
Class Numbers
Private Id As Integer
Private Item1 As Double
Private Item2 As Double
Private Item3 As Double
Public Sub New(i As Integer)
Id = i
Item1 = 0
Item2 = 0
Item3 = 0
End Sub
Sub sItem1(d As Double)
Item1 = d
End Sub
Sub sItem2(d As Double)
Item2 = d
End Sub
Sub sItem3(d As Double)
Item3 = d
End Sub
Function gItem1() As Double
gItem1 = Item1
End Function
End Class |