cerhu > microsoft.* > microsoft.dotnet.vb

Bernard Bourée (23/10/2004, 11h28)
J'ai une classe EntSor définie (voir code ) avec une procédure Sub Définit
qui définit plusieurs valeur de cette classe.

J'ai ensuite défini une Arraylist avec
Dim colEntSor As New ArrayList()

le code suivant met la même série de valeur dans toute l'arraylist:

EntSor.Définit("PAAE", "bar", 0, True) : colEntSor.Add(EntSor)

EntSor.Définit("TAAE", "°C", 0, True) : colEntSor.Add(EntSor)

EntSor.Définit("QAAE", "kg/s", 0, True) : colEntSor.Add(EntSor)

EntSor.Définit("XVAE", "%", 0, True) : colEntSor.Add(EntSor)

C'est à dire que la dernière ligne du code met les valeurs de cette ligne
dans cahque élément de la collection.

Que se passe-t-il ?

Merci

Bernard

==============================================

Public Class EntSor

Private mNomVal As String

Private mNomUnit As String

Private mDonnées As Boolean

Private mValeur As Decimal

Public Property NomVal() As String

Get

Return mNomVal

End Get

Set(ByVal Value As String)

mNomVal = Value

End Set

End Property

Public Property NomUnit() As String

Get

Return mNomUnit

End Get

Set(ByVal Value As String)

mNomUnit = Value

End Set

End Property

Public Property Données() As Boolean

Get

Return mDonnées

End Get

Set(ByVal Value As Boolean)

mDonnées = Value

End Set

End Property

Public Property Valeur() As Decimal

Get

Return mValeur

End Get

Set(ByVal Value As Decimal)

mValeur = Value

End Set

End Property

Public Sub Définit(ByVal sNomVal As String, _

ByVal sNomunité As String, _

ByVal dVal As Decimal, _

ByVal bDonnées As Boolean)

With Me

..NomVal = sNomVal

..NomUnit = sNomunité

..Valeur = dVal

..Données = bDonnées

End With

End Sub

End Class
Fred (23/10/2004, 18h06)
Bonjour,
C'est normal, tu crois avoir 4 objets EntSor différents dans ton tableau
alors que c'est toujours le même.
Si tu viens du monde VB6 peut-être ne connais-tu pas la notion de pointeur
ou d'adresse.
Imagine que dans ton tableau tu places l'adresse mémoire de ton objet.
Tu as donc bien 4 éléments de tableau mais il s'agit de 4 fois l'adresse du
même objet EntSort.
J'espère avoir été à peu près clair !

"Bernard Bourée" <bernard> a écrit dans le message de news:
OCr3YKOuEHA.160...
[..]
Bernard Bourée (23/10/2004, 19h20)
Merci c'est très clair!
Discussions similaires
Probleme bete, de Function ArrayList

Modification ArrayList ?

List = ArrayList ?

ArrayList


Fuseau horaire GMT +2. Il est actuellement 16h58. | Privacy Policy