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 :

Syntaxe rapide pour une manipulation de List


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut Syntaxe rapide pour une manipulation de List
    Bonjour,

    J'ai un problème simple.
    J'ai par exemple un tableau (ou liste) d'un structure: FileInfo[] files.
    Je voudrais créer une List<String> contenant tout les noms de fichiers contenu dans le tableau.

    Existerait il une syntaxe particulière pour créer cette liste ?
    Sans devoir faire un foreach.

    Merci :-)



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    class FileInfo
    {
       public string name;
       public string extension;
       ......
    }

  2. #2
    Membre émérite Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Par défaut
    Bonjour,

    L'utilisationde requettes Linq ou les expression lambda correspondent exactement a ce que tu recherche (a partir de .Net 3.5)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    //FileInfo[] fi
     
    var _li = (from _x in fi
                select _x.Nom).ToList();
    ou encore avec les expressions Lambda

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    //FileInfo[] fi
     
    var _li = fi.Select(x => x.Nom).ToList();
    http://code.msdn.microsoft.com/101-L...mples-3fb9811b

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut
    Super merci !!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 198
    Par défaut
    De la même façon serait il possible de faire quelque chose de ce genre ? j’obtiens une erreur de cast.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    List<String> data = new List<string>();
                data = (from line in reader.ReadLine() select line);
    Merci

  5. #5
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Que veux-tu faire ?
    ReadLine() n'est pas une collection, et ne te renverra qu'un seul string correspondant à ta ligne...

    Si tu veux les mots de la dite ligne, tu peux par exemple faire :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<String> data = reader.ReadLine().Split(new Char [] {' ', ',', '.', ':'}).ToList();

  6. #6
    Membre émérite Avatar de worm83
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Février 2010
    Messages
    459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2010
    Messages : 459
    Par défaut
    +1 pour la la reponse der3van

    Ressource MSDN Linq To Object

  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 : 39
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Si tu veux lire un stream tu peux essayer ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Enumerable.Range(0, int.MaxValue).TakeWhile (e => !reader.EndOfStream).Select (e => reader.ReadLine())

Discussions similaires

  1. Syntaxe élégante pour une fusion de compréhension de liste
    Par sopsag dans le forum Général Python
    Réponses: 8
    Dernier message: 23/08/2010, 12h22
  2. Langage le plus rapide pour une application web ?
    Par beninsky dans le forum Débuter
    Réponses: 2
    Dernier message: 04/05/2010, 21h29
  3. Quelle est la syntaxe précise pour une foreign key ?
    Par vinze60 dans le forum Requêtes
    Réponses: 3
    Dernier message: 07/09/2009, 09h45
  4. Syntaxe fausse pour une version 3.23
    Par megane dans le forum Requêtes
    Réponses: 4
    Dernier message: 07/09/2006, 09h26
  5. problème de syntaxe delphi pour une requête sql
    Par socooooool dans le forum Bases de données
    Réponses: 12
    Dernier message: 07/07/2006, 16h53

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