cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007
-
25 juin 2006 à 11:38
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007
-
25 juin 2006 à 15:32
Bonjour
J'aimerai pouvoir assigner à une variable la référence d'un objet de l'arraylist afin de pouvoir modifier cet objet grâce à cette variable. Le problème, c'est que les structures sont des variables par valeur et j'ai beau chercher, je ne vois pas la solution. En gros, je voudrais faire :
ObjetDeLArray=List(1)
ObjetDeLArray.name="Nouveau nom"
Et que cela modifie List(1).name en "Nouveau nom"
Merci d'avance ! Voici un code exemple
Public Structure Struc
Dim Name As String
End Structure
Dim List As New ArrayList
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim NewStruc As New Struc
NewStruc.Name = "test1"
List.Add(NewStruc)
NewStruc = New Struc
NewStruc.Name = "test2"
List.Add(NewStruc)
End Sub
Je sais pas si c'est un bug de cs, mais ca manque de retours à la ligne.
Si tu veut faire un Array de ta structure, tu peut faire si tu travaille sous vs2005 :
Dim
List
As
New
System.Collections.Generic.List(
Of
Struc)
Sinon si t'est sur vs2003, tu peut reprendre la class Array et remplacer le type object en type ta structure.
Public
Class
StructArray
Inherits
System.Collections.ArrayList
Public
Shadows
Function
Add(
ByVal
value
As
Struc)
As
Integer
Return
MyBase
.Add(value)
End
Function
Default
Public
Shadows
Property
Item(
ByVal
index
As
Integer
)
As
Struc
Get
Return
CType
(
MyBase
.Item(index), Struc)
End
Get
Set
(
ByVal
value
As
Struc)
MyBase
.Item(index) = value
End
Set
End
Property
End
Class
Mais le mieux c'est que tu la fasse toi même (si t'est sur vs2003) avec
Dim
List()
As
Struc
Kenji
Merci de lire le règlement (vivement conseillé voir obligatoire).
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 25 juin 2006 à 14:25
Merci pour ta réponse !
Mais je ne peux toujours pas faire une variable ayant comme valeur la référence un objet de la liste, si je fait Var as Struc=list(1), modifier var.name ne modifie pas list(1).name. Une idée ? :-D
@Z3RtY25 ==
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 25 juin 2006 à 15:32
Merci Kenji !!! T'es mon héro !!! lol.
Le pire c'est qu'utiliser une classe m'avait effleuré l'esprit mais va savoir pourquoi, j'y ai pas fait attention !
Bonne journée, merci encore