none
Gestion des ruptures

    Discussion générale

  • Bonjour tout le monde,

    Le sujet est d'établir une liste de choses par catégorie, avec le nom de catégorie en entête de rupture.

    Je propose un code pour faire ça, mais je soupçonne qu'il doit y avoir plus élégant.

                string[] categories = { "La première catégorie", "La deuxième catégorie", "La troisième catégorie" };
                chose chose1 = new chose(1, "Chose une");  // le premier paramètre est la catégorie
                chose chose2 = new chose(2, "Chose deux"); // le deuxième paramètre est l'intitulé
                chose chose3 = new chose(2, "Chose trois");
                chose[] LesChoses = {chose1, chose2, chose3};
                int temp=0;
                foreach(chose ch in LesChoses)
                {
                    if (temp != ch.category)
                    {
                        Console.WriteLine(categories[ch.category - 1]);
                    }
                    Console.Write(" ");
                    Console.WriteLine(ch.intitule);
                    temp = ch.category;
                }
                Console.ReadKey();

    ce qui donne

    La première catégorie
     Chose une
    La deuxième catégorie
     Chose deux
     Chose trois



    • Modifié Gloops vendredi 9 décembre 2016 12:34
    vendredi 9 décembre 2016 08:53

Toutes les réponses

  • Créer une classe

    Categorie{

    string Name{get;set;}

    List<Chose> Choses{get; private set;} = new List<Chose>();

    }

    Puis :

    foreach (var categ in categories)

    {

    Console.WriteLine(categ.Name)

    foreach(var chose in categ.choses)

    {

    Console.WriteLine(chose.Name)

    }

    }


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    vendredi 9 décembre 2016 15:27
  • Ah, oui, merci. Un peu ce que j'avais du mal à mettre en forme ...

    Je pense à une certaine application de blogs : les données pour faire ça sont déjà déclarées dans la base, il n'y a plus qu'à les initialiser.

    vendredi 9 décembre 2016 17:21