begin process at 2010 02 10 08:55:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Mono

 > 

Général

 > 

c# Arraylist comment modifier une variable ???


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

c# Arraylist comment modifier une variable ???

vendredi 10 avril 2009 à 11:45:14 | c# Arraylist comment modifier une variable ???

Capa6T

Bonjour,

J'ai une structure comme ceci

public struct AlarmeStruct
{
public string Slogan;
public string FingerPrint;
}
AlarmeStruct TempAlarm=new AlarmeStruct
();


Une Arraylist qui va contenir mes données:
public ArrayList Alarmes=new ArrayList();

.../.. Admettons que j'ai rempli mon tableau avec plein de données avec ce type de commande:Alarmes.Add(TempAlarm);

Comment ensuite modifier par exemple toutes les valeurs de la variable FingerPrint dans mon Arraylist ????

Le code suivant me donne une erreur compilo :
Cannot modify members of 'o' because it is a 'foreach iteration variable' (CS1654)

foreach
(AlarmeStruct o in Alarmes)
   o.FingerPrint="Test";

Par avance merci pour vos réponses parce que là je séche depuis quelques jours et je ne trouve pas ma solution.

vendredi 10 avril 2009 à 13:25:15 | Re : c# Arraylist comment modifier une variable ???

Capa6T

Réponse acceptée !
Ok bah visiblement j'ai trouvé, suffit de transformer ma structure en classe et le tour est joué....Me reste à tester si ça marche vraiment mais la compil se fait bien...

soit en final la modification du code suivante (en rouge):

public
class
AlarmeStruct
{
public stringSlogan
;
public stringFingerPrint;

}
vendredi 10 avril 2009 à 14:23:06 | Re : c# Arraylist comment modifier une variable ???

Capa6T

Non finalement ma solution de transformer ma structure en classe ne fonctionne pas....
vendredi 10 avril 2009 à 15:43:53 | Re : c# Arraylist comment modifier une variable ???

Lutinore

Administrateur CodeS-SourceS
Salut, le compilateur te le dit clairement, c'est la boucle "foreach" le problème, utilise une boucle "for". ( avec un type "classe" sinon avec un type estructe tu vas t'exposer à un autre problème ).
vendredi 10 avril 2009 à 16:19:39 | Re : c# Arraylist comment modifier une variable ???

krimog

Réponse acceptée !
"Non finalement ma solution de transformer ma structure en classe ne fonctionne pas".

Bizarre, j'aurais justement dit que c'était de là que venais ton problème. En effet, les structures étant des types par valeur (contrairement aux classes) (du moins c'est ce qu'on m'a toujours appris), o est une copie de l'objet, donc le modifier reviendrait à modifier une copie, ce qui n'a aucun intérêt.

Cependant, c'est étonnant que ça ne fonctionne pas avec une classe.

Krimog :
while (!(succeed = try())) ;

vendredi 10 avril 2009 à 18:31:54 | Re : c# Arraylist comment modifier une variable ???

Capa6T

Oui je viens de comprendre, vous avez raison il faut transformer ma structure en classe. J'ai un peu caffouillé dans mes tests alors je pensais que ce n'était pas bon mais en final ça marche. Pas si facile la transition du c vers le c#... faut bien comprendre le mécanisme des objets et j'avance à petit pas... Merci pour vos réponses.
vendredi 10 avril 2009 à 20:27:09 | Re : c# Arraylist comment modifier une variable ???

krimog

Pour simplifier (tu le sais probablement déjà, mais au cas où...), grosso-modo, un type par valeur (types primitifs + structs), c'est comme les variables en C, tandis que les types par référence (classes), c'est comme les pointeurs, et ça implique par exemple un new pour être créé (la simple déclaration ne suffit pas) (un peu de la même manière que tu fais un malloc() en c).

Krimog :
while (!(succeed = try())) ;



Cette discussion est classée dans : public, variable, modifier, arraylist, alarmestruct


Répondre à ce message

Sujets en rapport avec ce message

une struct dans une arrylist???? [ par defcoco ] j'aurai voulu savoir si c'etait possible de faire une arraylist d'une struct sachant ke je developpe avec le compact frameworkj'ai essayé et j'arrive Portée de variables pour le Préprocesseur [ par Atmaweapon ] Bonjour à tous ! Je voulais simplement savoir s'il était possible de gérer un p'tit peu la portée des variables du préprocesseur. Un exemple : Class Variable Aléatoire [ par jschutz ] Bonjour,Je souhaiterais générer une liste de variables aléatoires (V.A.) comprises entre ]0, 1[. Cependant, lors de la génération, l Acceder a un meme ArrayList depuis deux fonctions [ par akelton ] Bonjour,Je continue ma decouverte de C# et je bloque sur la possibilité d'accéder a un meme ArrayList depuis deux fonctions différentes:public class T Récupérer un paramètre d'une classe mère [ par therainbow3 ] Bonjour, J'ai créé une classe mère de cette forme:public class Page    {        protected ArrayList textes;        protected ArrayList images;        [C#] Probleme : Variable + Nom d'objet [ par Mentalalex ] Bonjour a tous,Jai un petit soucis en ce moment, en effet j'aimerais bien modifier le "Text" de plusieurs bouton dynamiquement grace a un for et un da Liaison données dans une application multi-couches [ par Epitt ] Bonsoir, je me suis cassé la tête toute la journée pour afficher mes données selon le schéma qui suit, mais je n'arrive toujours pas à les afficher. Modifier le code pendant l'exécution [ par dorras7 ] Salut, J'ai un problème.je veux editer le code pendant l'exécution sachant que j'ai coché l'option : activer Modifier et continuer(en allant outils--o charger un fichier (NTUSER.DAT) dans le registre afin de pouvoir modifier certaine clés [ par Safti ] Bonjour tout le monde, Est-ce que quelqu'un sait comment l'on peut charger le fichier NTUSER.DAT dans une ruche de registre (par exemple: HKEY_USERS.


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales