IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#] Aide pour trier une collection


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 70
    Points : 57
    Points
    57
    Par défaut [C#] Aide pour trier une collection
    Bonjour tous le monde,

    Voilà mon problème

    Je réalise un QCM les candidats répondent aux questions puis leur nom ainsi que leur note et enregistré dans un fichier classement.txt
    sous cette forme

    nomCandidat | note

    Et j'aimerai classé ce fichier par ordre décroissant en fonction des notes

    Je met donc mon fichier dans une collection "classementqcm"
    d'après mes recherches je devrai utiliser .Sort()
    mais je n'ai pas compris son utilisation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ArrayList classementqcm = new ArrayList();
                FileInfo classement = new FileInfo("classement.txt");
                StreamWriter classementfile = classement.AppendText();
                classementqcm.Add(nomCandidat + "|" + nbrjuste + "/" + total + "|" + note);
                foreach (string Ligne in classementqcm)
                {
                    classementfile.WriteLine(Ligne);
                }
                classementfile.Close();
    Je vous remercie d'avance de votre aide.

  2. #2
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    bonjour,

    pour ce que tu veux faire, le plus simple est de faire une classe resultatQcm (par ex.):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public class ResultatQcm : IComparable<ResultatQcm>{
     
     private int _note;
    ...
      public int Note{
                get { return _note; }
                set { _note = value; }
            }
    ...
      public int CompareTo(ResultatQcm obj) {		
    	return - Note.CompareTo(obj.Note);			
      }
    ...
     
    }
    et apres, tu modifies ton code comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    List<ResultatQcm> classementqcm = new ist<ResultatQcm>();
    // ajout des resultats...
    classementqcm.Add(new ResultatQcm(......));
     
    //et avant de sauver dans le fichier...
    classementqcm.Sort();
    Apres, c'est l'idée generale, le tri se base sur Compare pour trier tes elements...

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Pour apporter un complément a la réponse de piavalatte, ca signifie que tu oublie ArrayList(); (qui est obsolete) et tu remplace par une List<T>;

    Pour autant que tu utilise au moins le FW 2.0
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

Discussions similaires

  1. [FLASH MX2004] Aide pour créer une animation
    Par SnakeTales dans le forum Flash
    Réponses: 5
    Dernier message: 04/08/2005, 10h50
  2. [débutant] Aide pour mettre une FOREIGN KEY sur une table
    Par cauldron dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/11/2004, 17h16
  3. aide pour exporter une base de donnée
    Par matt55 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 06/04/2004, 14h28
  4. Réponses: 5
    Dernier message: 08/01/2004, 16h48
  5. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo