Modification d'un élément d'une liste [Résolu]

Messages postés
670
Date d'inscription
dimanche 16 décembre 2007
Dernière intervention
11 mars 2010
- - Dernière réponse : olibara
Messages postés
670
Date d'inscription
dimanche 16 décembre 2007
Dernière intervention
11 mars 2010
- 13 févr. 2008 à 21:44
Bonjour

J'essaye de modifier un element d'une liste mais j'y arrive pas
(qu'est ce que c'est fastidieux la programmation de base en C# quant on a l'habitude du C)

Voici ce que je fais

        kAdr.AddrId = (int)addr["addrID"];
        fid = AddrLst.BinarySearch(kAdr, compareId);
        if (fid>=0)
        {
          AddrLst[fid].active = true;
        }
      }

Mais le compilo n'aime pas
Est-il possible en C sharp #@!!;-(( de modifier un element d'une liste ?

Merci pour les benevole qui peuvent m'aider a comprendre
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
43
3
Merci
AddrList est une structure ? C'est certainement le cas :)

Soit tu le modifie en class, soit tu copies sa valeur dans un objet temporaire et tu le réaffectes ensuite a AddrList

AddrLidt temp = AddrList[i]
temp.active = true;
addrList[i] = temp ;

J'ai trouvé ce post qui devrait t'eclairer sur le pourquoi du comment

Mx
MVP C# 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 124 internautes nous ont dit merci ce mois-ci

Commenter la réponse de MorpionMx
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
43
0
Merci
Salut,

Et il dit quoi le compilo ?
Dur de t'aider quand on ne sait pas de quel Type sont tes objets

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
670
Date d'inscription
dimanche 16 décembre 2007
Dernière intervention
11 mars 2010
3
0
Merci
Bonsoir.
Désolé je pensais que j'avais fais une erreur d'inocent ec C# qui allait sauter aux yeux

Voici ce que me dit le compilo

Error 2 Cannot modify the return value of 'System.Collections.Generic.List<TestMysql.Main.AddrList>.this[int]' because it is not a variable D:\projets\testMysql\TestMysql\Main.cs 422 11 TestMysql
Commenter la réponse de olibara
Messages postés
670
Date d'inscription
dimanche 16 décembre 2007
Dernière intervention
11 mars 2010
3
0
Merci
Merci a toi

Yes c'est clair et j'ai encore apris un truc !
Mais j'aurais a priori misé sur l'inverse : struct=ref class=value
Mais c'est l'habitude du C
Commenter la réponse de olibara

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.