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 : Sélectionner tout - Visualiser dans une fenêtre à part
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