static Dictionary <string, string> CreerDictionnaire(List <CTelephone> list) { //On désire un dictionnaire permettant de retrouver, en fonction d’un numéro, le propriétaire ou le bureau //correspondant.Proposez et testez une solution en utilisant un Dictionary Dictionary <string, string> dictionnaire = new Dictionary <string, string>(); if (list != null) { for (int i = 0; i < list.Count; i++) { //Si l'élément de la liste appartient à la classe CFixe if (list[i] is CFixe) { //ici on cast car on a reconnu un objet CFixe CFixe f = (CFixe)list[i]; dictionnaire.Add(f.Numero, f.Bureau); } else { CPortable p = (CPortable)list[i]; dictionnaire.Add(p.Numero, p.NomProprietaire); } } } return(dictionnaire); }
static List <CTelephone> LectureFichier(string nomFichier) // @"C: \Users\Mathieu utilisateur\Documents\Visual Studio 2015\Projects\ANNEE 3\Programmation_Oriente_Objet\TD6\TD6\bin\Debug\liste1.txt" { List <CTelephone> list = new List <CTelephone>(); try { StreamReader monStreamReader = new StreamReader(nomFichier); //On déclare une string pour la lecture ligne par ligne string ligne = monStreamReader.ReadLine(); //Tant que l'on est pas à la fin du fichier while (ligne != null) { //Chaque mot dans le fichier est séparé par une virgule //Donc on voit la ligne comme une tableau de string et a chaque virgule on met une condition //Ici en premier on a soit "fixe" soit "portable string[] temp = ligne.Split(','); if (temp[0] == "Fixe") { /* * Console.WriteLine("TelephoneFixe "); * // * ici pour chaque element de la ligne on l'écrit * foreach (string val in temp) * { * Console.WriteLine(" " + val); * } */ //On ajoute le téléphone dans la list en l'instanciant CFixe f = new CFixe(temp[1], temp[2], temp[3]); list.Add(f); } else { /* * //Autre facon que * * Console.WriteLine("TelephonePortable "); * Console.WriteLine(" " + temp[0]); * Console.WriteLine(" " + temp[1]); * Console.WriteLine(" " + temp[2]); * Console.WriteLine(" " + temp[3]); */ CPortable p = new CPortable(temp[1], temp[2], temp[3]); list.Add(p); } //On change de ligne ligne = monStreamReader.ReadLine(); } // Et on oublie pas de fermer le flux monStreamReader.Close(); } catch (Exception e) { Console.WriteLine(e.Message + "\n"); } return(list); }
static void Exo1() { CFixe F1 = new CFixe("Samsung", "0610194877", "KPIWEB"); CPortable P1 = new CPortable("Apple", "0786950301", "Mathieu"); Console.WriteLine(F1.ToString()); Console.WriteLine(P1.ToString()); //Suite exo 2 List <CTelephone> list = new List <CTelephone>(); list.Add(F1); list.Add(P1); }