Skip to content

ppmax no sekai

  • Accueil
  • Mes codes parrainage
  • Mon CV
  • Qui suis-je ?

Recherche dans des listes grâce aux délégués ( C#)

Le quotidien d’un développeur consiste le plus souvent à trouver l’information dont il a besoin et de l’utiliser de façon intelligente, et j’ai remarqué une petite chose lorsque je regarde des exemples de code sur le net,c’est que pas mal de gens ne savent pas utiliser ce que j’appellerais « ‘une des plus grande invention du langage » : la recherche dans les collections d’élément via des délégués.

Qu’est-ce que sont les délégués ?
Un petit exemple rapide:
Une classe Personne avec des attributs Nom, Prenom.
Une liste contenant des personnes serait du genre :

List<Personne> listePersonne = new List<Personne>();
///Nouvelles personnes
Personne p1 = new Personne(« Duran », « Paul »);
Personne p2 = new Personne(« Dupont », « Paul »);
listePersonne.Add(p1);
listePersonne.Add(p2);

Pour rechercher une personne contenu dans la liste, une grande partie des personnes fait avec la méthode old-school:

Personne perso;
for (int i = 0; i < listePersonne.Count; i++)
{
    if (listePersonne[i].Nom == « Duran »)
    {
        perso = listePersonne[i];
    }
}

Ce code marche, mais en C#, il existe la méthode Find :

///Recherche d’une personne
Personne perso = listePersonne.Find(delegate(Personne p) { return p.Nom == « Duran »; });
///Recherche de plusieurs personnes
List<Personne> lperso = listePersonne.FindAll(delegate(Personne p) { return p.Nom == « Paul »; });

Ça fait exactement la même chose (à part que find renvoie la première occurrence trouvée alors que le code avec le for renvoie la dernière occurrence)
De nombreuses méthodes utilisent les délégués (Find, FindAll…) C’est très utile et c’est surtout beaucoup plus propre dans le code. Je suppose que du coté des performances, c’est la même chose, un gain de rapidité grâce au Find, à confirmer toutefois.

Post navigation

Previous Post:

Bust A Move DS

Next Post:

Zippy Ziggy de Hwang Seung-Man et de Kim Eun-Jung

Catégories

  • Geek Spirit
  • Général
  • Jeux de société
  • Modern Visual Culture
  • Occidental Culture
  • SingStar
  • Voyages
  • WorkWork

C’est toujours bon à lire

  • THE GAME de Steffen Benndorf: Le jeu qui n’est pas votre ami.THE GAME de Steffen Benndorf: Le jeu qui n’est pas votre ami.
  • Perudo : du bluff avec des toucansPerudo : du bluff avec des toucans
  • [Kickstarter] Scythe – Uchronie et mécha: OUI OUI OUI![Kickstarter] Scythe – Uchronie et mécha: OUI OUI OUI!
  • CO₂ : Second Chance, un jeu de pose d’ouvriers qui sent bon le serious game.CO₂ : Second Chance, un jeu de pose d’ouvriers qui sent bon le serious game.
  • 7 Wonders : Leaders, une extension qui renouvelle tout (enfin presque) !7 Wonders : Leaders, une extension qui renouvelle tout (enfin presque) !
  • The Island of El Dorado :  c’est bien, mais pas suffisant.The Island of El Dorado : c’est bien, mais pas suffisant.

Tags

Argentine (6) Blog (4) bluff (3) Boardgame (2) Carcassonne (4) Carnets de Voyages (14) Cartes (9) Combo (4) Concert (3) Coopératif (3) Cubes (3) Draft (4) Ecchi (11) Essen (4) Fantastique (8) Filosofia (4) Historique (3) Humour (13) IELLO (5) Internet (4) iOs (3) iPhone (14) Japon (8) Jeux de plateau (6) Jeux de société (46) Jeux Vidéo (31) Kickstarter (12) Manga (40) Manhua (3) Manhwa (4) Maroc (3) Musique (23) Mythologie (3) OneShot (9) Pika (3) PS3 (23) Richard GARFIELD (3) Scantrad (21) Shounen (15) SingStar (16) Sortir (5) Stratégie (4) Survival (3) Toulouse (27) Voyage (18)

Du coté d’Instagram

Afficher plus...Suivez-nous sur Instagram
© 2019 ppmax no sekai | Thème par SuperbThemes
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.Accept Read More
Privacy & Cookies Policy