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 :

Sérialisation et arrayList


Sujet :

C#

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Sérialisation et arrayList
    Bonjour

    Je suis sur un programme en C# comprenant une classe véhicule et les classes motos et voitures qui héritent de véhicule. J'aimerais pouvoir sérialiser mes véhicules.

    Je demande à l'utilisateur de saisir les renseignements dont j'ai besoin, puis je récupère ce que l'utilisateur a saisi et je l'ajoute dans mon Arraylist.

    Après ça j'utilise BinaryFormatter et je créé un fichier dans lequel je sérialise mon ArrayList.

    Niveau code ça donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList lesVoitures = new ArrayList();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    v = new voitures(pNumVehicule, pPrixLocation, pNbChevaux, pEtat, pNbKm, pNbPassagers, pNbPortes);
    lesVoitures.Add(v);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BinaryFormatter formatter = new BinaryFormatter();
    FileStream fsv = new FileStream("fichierVoitures", FileMode.OpenOrCreate, FileAccess.Write);
    formatter.Serialize(fsv, lesVoitures);
    fsv.Close();
    Seulement impossible d'afficher le contenu de mon ArrayList. Pourtant le fichier est bien créé c'est donc que la sérialisation marche ?

    Merci d'avance pour vos réponses . Si vous avez besoin de renseignements supplémentaires n'hésitez pas.

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Argh! Plus de Arraylist! C'est déprécié! Prefère les listes typés à la place.

  3. #3
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par zarakik Voir le message
    impossible d'afficher le contenu de mon ArrayList.
    Pourrais-tu être plus précis sur ce point ? Parce que dans ton code il n'y a rien qui concerne l'affichage, difficile donc de te répondre sans plus d'info pour comprendre le problème
    Pas de questions techniques par MP

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par zarakik Voir le message
    Seulement impossible d'afficher le contenu de mon ArrayList. Pourtant le fichier est bien créé c'est donc que la sérialisation marche ?
    Qu'est-ce qui ne marche pas exactement ? Tu montres seulement le code de la sérialisation, qui semble correct, mais si tu n'arrives pas à relire le contenu, c'est au niveau de la désérialisation qu'il y a un problème...

    Soit dit en passant, tu ferais mieux d'utiliser une liste générique (List<T>) plutôt que ArrayList

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Argh! Plus de Arraylist! C'est déprécié! Prefère les listes typés à la place.
    Non, c'est pas déprécié... mais ça pourrait (devrait ?) l'être

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oui mais je n'ai pas trop le choix je suis obligé d'utiliser une ArrayList

    Concernant l'affichage j'ai pensé à utiliser un foreach du genre

    foreach(object o in lesVoitures)
    Sauf que je ne sais pas comment m'y prendre pour afficher le contenu de mon Arraylist après .


    Justement, je n'ai pas fait de désérialisation, est-ce obligatoire ? C'est mon premier programme avec héritage / sérialisation donc je galère un peu ^^'

  7. #7
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Une question m'intrigue... Tu veux faire quoi en fait? Pourquoi sérialiser?

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    C'est un programme de location de véhicules. L'utilisateur peut ajouter des véhicules, les louer si ils sont libres, supprimer des véhicules .... Donc pour tout mémoriser je veux sérialiser . Et je suis obligé de passer par une collection c'est pour ça que j'utilise un ArrayList.

  9. #9
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Citation Envoyé par zarakik Voir le message
    C'est un programme de location de véhicules. L'utilisateur peut ajouter des véhicules, les louer si ils sont libres, supprimer des véhicules .... Donc pour tout mémoriser je veux sérialiser . Et je suis obligé de passer par une collection c'est pour ça que j'utilise un ArrayList.
    List<T> est une collection de T donc ca marche tout a fait! Tu peux faire une List<Voiture> ou chaque element est une Voiture. C'est mieux que de se trimballer un ArrayList ou il faut a chaque fois caster les éléments.

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oui mais j'ai un prof qui en est resté au stade de l'arrayList, voila pourquoi je suis parti sur cette base...

    Je vais m'y intéresser de plus près, mais si je pouvais trouver la solution avec arrayList ça serait beaucoup mieux.

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par zarakik Voir le message
    Oui mais j'ai un prof qui en est resté au stade de l'arrayList
    Bah tu peux dire à ton prof qu'il ferait bien de se mettre à jour s'il veut pas enseigner à ses élèves des choses complètement obsolètes

    Mais bon, de toutes façons cette distinction entre ArrayList et List<T> n'a pas vraiment d'importance pour ton problème... On n'a toujours pas compris ce qui te bloque en fait !

    Justement, je n'ai pas fait de désérialisation, est-ce obligatoire ?
    La désérialisation, c'est ce qui te permet de relire les données que tu as sérialisées. Si tu ne les relis jamais, ça ne sert à rien de les enregistrer...

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    C'est le genre de prof qui refuse de se mettre à jour... Du coup pas trop de choix dans ce qu'on doit utiliser.

    Ce que je veux c'est afficher les véhicules que j'ai sérialisé dans mon fichier. Si tu me dis que cela se fait par la désérialisatilon c'est normal que je n'y arrive pas alors je n'en ai pas fait...

    Je désérialise et ensuite j'utilise une boucle du type foreach pour afficher tous les objets de ma collection ?
    Merci de votre aide

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par zarakik Voir le message
    Je désérialise et ensuite j'utilise une boucle du type foreach pour afficher tous les objets de ma collection ?
    Oui

Discussions similaires

  1. Problème sérialisation arraylist Axis sous éclipse
    Par toprider dans le forum Services Web
    Réponses: 5
    Dernier message: 24/12/2009, 17h38
  2. Sérialiser un ArrayList java en XML
    Par absot dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 22/12/2009, 19h26
  3. ArrayList java et Sérialisation
    Par castor21 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 12/05/2009, 18h38
  4. sérialisation XML en java Avec des Matrice ArrayList
    Par bilred dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 16/04/2009, 15h55
  5. Sérialisation XML d'une ArrayList
    Par Contrec dans le forum C#
    Réponses: 6
    Dernier message: 29/11/2008, 09h57

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