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 :

Nettoyer des emails redondant dans une liste [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Décembre 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : Décembre 2021
    Messages : 10
    Par défaut Nettoyer des emails redondant dans une liste
    Bonjour,

    je me demande qu'elle serait la meilleure méthode pour supprimer redondants dans une liste. Voici ce que je peux avoir dans ma liste :

    - MYNAME@domain.com
    - myname@domain.com
    - Myname@domain.com
    - MyName@domain.com

    Ces adresses sont identiques, comment puis-je faire pour n'en garder qu'une ?

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    grosso modo déclarer un objet Dictionary Dictionary
    ou bien un objet List

    puis parcourir la liste et mettre les chaînes de caractère dans l'objet Dictionary avec la méthode Add.
    Re-parcourir la liste et accéder à chaque chaîne de caractère.Mettre tous les caractères en minuscule ou en majuscule.
    Si la chaîne est déjà existante alors la supprimer.

  3. #3
    Membre habitué
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Décembre 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : Décembre 2021
    Messages : 10
    Par défaut
    Hello, c'est bien ce que je pensais, il n'y a pas de fonction toute faite

    Merci

  4. #4
    Membre habitué
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Décembre 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : Décembre 2021
    Messages : 10
    Par défaut
    Hello, finalement j'ai résolu mon problème avec l'instruction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private static List<string> DeleteDuplicateEmails(List<string> emails)
    {
               return emails.GroupBy(x => x, StringComparer.CurrentCultureIgnoreCase)
                    .Where(el => el.Count() >= 1)
                    .Select(el => el.Key)
                    .ToList();
    }

  5. #5
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static List<string> DeleteDuplicateEmails(List<string> emails) => emails.Select(string.ToLower).Distinct().ToList();

  6. #6
    Membre habitué
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Décembre 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP

    Informations forums :
    Inscription : Décembre 2021
    Messages : 10
    Par défaut
    Hello, très intéressant comme approche mais ça ne compile pas chez moi : "Erreur CS0411 Impossible de déduire les arguments de type pour la méthode 'Enumerable.Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>)' à partir de l'utilisation. Essayez de spécifier les arguments de type de façon explicite."

    Merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] ENvoyer un émail a une liste des emailes stocké dans une base de données My SQL
    Par belakhdarbts10 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 19/07/2012, 12h11
  2. Insérer des check buttons dans une list box
    Par cecile900 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 09/01/2007, 12h10
  3. [VBA-E] Affichage captions des chekbox actifs dans une list box
    Par accro-macro dans le forum Macros et VBA Excel
    Réponses: 27
    Dernier message: 17/10/2006, 13h42
  4. Réponses: 13
    Dernier message: 01/08/2006, 16h59
  5. concaténer des élements contigus dans une liste
    Par isachat666 dans le forum Delphi
    Réponses: 3
    Dernier message: 26/05/2006, 09h31

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