예제 #1
0
        static void Main(string[] args)
        {
            // Utilisation polymorphique des classes
            Vehicule v1 = new Voiture("Renault Clio", Energies.Gazole);

            Console.WriteLine(v1.Description);

            Vehicule v2 = new Moto("Yamaha XJR1300", Energies.Essence);

            Console.WriteLine(v2.Description);

            int res = v1.CompareTo(v2);

            if (res < 0)
            {
                Console.WriteLine("{0} est plus économique que {1}", v1.Nom, v2.Nom);
            }
            else if (res > 0)
            {
                Console.WriteLine("{0} est plus économique que {1}", v2.Nom, v1.Nom);
            }
            else
            {
                Console.WriteLine("{0} a le même PRK que {1}", v1.Nom, v2.Nom);
            }

            Vehicule mégane   = new Voiture("Mégane", 19000);
            Vehicule intruder = new Voiture("Intruder", 13000);
            Vehicule enzo     = new Voiture("Enzo", 380000);
            Vehicule yamaha   = new Voiture("Yamaha XJR1300", 11000);

            // Ajout des véhicules dans un dictionnaire non trié
            var dico = new Dictionary <string, Vehicule>();

            dico.Add(mégane.Nom, mégane);
            dico.Add(intruder.Nom, intruder);
            dico.Add(enzo.Nom, enzo);
            dico.Add(yamaha.Nom, yamaha);

            foreach (var kvp in dico)
            {
                // Les éléments s'affichent dans l'ordre dans lequel on les a
                // ajoutés au dictionnaire
                Console.WriteLine("{0} : {1}", kvp.Key, kvp.Value.Prix);
            }

            // Copie du contenu du dictionnaire dans une liste triée
            var lst = new SortedList <string, Vehicule>();

            foreach (var kvp in dico)
            {
                lst.Add(kvp.Key, kvp.Value);
            }
            // Autre possibilité plus simple :
            //var lst = new SortedList<string, Vehicule>(dico);

            // Pour vider le dictionnaire :
            // dico.Clear();
            Console.WriteLine();

            // Affichage du contenu de la liste triée
            // Les éléments s'affichent dans l'ordre de la clé
            // c'est à dire par ordre alphabétique du nom
            foreach (var kvp in lst)
            {
                Console.WriteLine("{0} : {1}", kvp.Key, kvp.Value.Prix);
            }

            // Copie du contenu du dictionnaire dans une liste triée
            // en permutant la clé et la valeur
            var lst2 = new SortedList <Vehicule, string>();

            foreach (var kvp in dico)
            {
                lst2.Add(kvp.Value, kvp.Key);
            }

            // Affichage du contenu de la liste triée
            // Les éléments s'affichent dans l'ordre de la clé
            // c'est à dire ici selon le critère de comparaison des véhicules (le prix)
            Console.WriteLine();
            foreach (var kvp in lst2)
            {
                Console.WriteLine("{0} : {1}", kvp.Key.Nom, kvp.Key.Prix);
            }

            Console.WriteLine();
            string[] tab = new string[] { "Clio", "Mégane", "Golf", "Enzo", "Polo" };
            // recherche des éléments du tableau ci-dessu dans le dictionnaire
            foreach (var s in tab)
            {
                Vehicule v;
                if (dico.TryGetValue(s, out v))
                {
                    Console.WriteLine("{0} : {1}", v.Nom, v.Prix);
                }
            }

            Console.ReadKey();
        }
예제 #2
0
        static void Main(string[] args)
        {
            Véhicule a = new Voiture("titi", Energies.electrique);
            //Console.WriteLine(a.Description);
            Voiture b = new Voiture("tito", Energies.electrique);
            Véhicule c = new Moto("coco", Energies.electrique);
            //Véhicule[] toto = new Véhicule[3] { a, b, c };

            //for(int i=0; i < toto.Length;i++)
            //{
            //    Console.WriteLine(toto[i].Description);
            //}

            Console.WriteLine(b.Description);
            Console.WriteLine(c.Description);

            //Véhicule d = new Véhicule();

            Voiture b2 = new Voiture("toto", Energies.Essence);

            int ggh = b2.CompareTo(c);
            if (ggh == 0)
            {
                Console.WriteLine("La {0} est plus économique que la {1} ", b2.Nom, c.Nom);
            }

            var v1 = new Voiture("mégane", 19000);
            var v2 = new Moto("Intruder", 13000);
            var v3 = new Voiture("Enzo", 380000);
            var v4 = new Moto("Yamaha", 11000);

            var dico = new Dictionary<string, Véhicule>();
            dico.Add(v1.Nom, v1);
            dico.Add(v2.Nom, v2);
            dico.Add(v4.Nom, v4);
            dico.Add(v3.Nom, v3);

            foreach (var v in dico)
            {
                Console.WriteLine("{0} {1}", v.Key, v.Value.Prix);
            }
            var sortieliste = new SortedList<string, Véhicule>();
            foreach (var v in dico)
            {
                sortieliste.Add(v.Key, v.Value);
            }
            // dico.Clear();

            foreach (var v in sortieliste)
             Console.WriteLine("{0} : {1}", v.Key.Nom, v.Key.Prix); 


            string[] tabmarque = new string[] { "Clio", "Mégane", "Golf", "Enzo", "Polo" };
            foreach (var s in tabmarque)
            {
                Véhicule vv;
                if(dico.TryGetValue(s,out vv))
                    Console.WriteLine
            }

                Console.ReadKey();
        }