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

olibara 670 Messages postés dimanche 16 décembre 2007Date d'inscription 11 mars 2010 Dernière intervention - 13 févr. 2008 à 20:50 - Dernière réponse : olibara 670 Messages postés dimanche 16 décembre 2007Date d'inscription 11 mars 2010 Dernière intervention
- 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 

4 réponses

Répondre au sujet
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 13 févr. 2008 à 21:37
+3
Utile
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# 
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de MorpionMx
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 13 févr. 2008 à 21:17
0
Utile
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
olibara 670 Messages postés dimanche 16 décembre 2007Date d'inscription 11 mars 2010 Dernière intervention - 13 févr. 2008 à 21:25
0
Utile
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
olibara 670 Messages postés dimanche 16 décembre 2007Date d'inscription 11 mars 2010 Dernière intervention - 13 févr. 2008 à 21:44
0
Utile
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.