List<string> liste = new List<string>(); // Le mot-clé using permet de fermer automatiquement le fichier à la fin du bloc using (StreamReader reader = new StreamReader(@"monFichier.txt")) { string ligne; // Tant qu'on n'est pas à la fin du fichier, on ajoute les lignes une par une à la liste do { ligne = reader.ReadLine(); if (!string.IsNullOrEmpty(ligne)) liste.Add(ligne); } while (ligne != null); } // Là, je trie les lignes de ma liste // Le tri se fait en fonction de la valeur entière (Convert.ToInt32) de la troisième case ([2]) // de la ligne (element) splittée sur les espaces (.Split(' ')) IOrderedEnumerable<string> listeOrdonnee liste.OrderBy(element> Convert.ToInt32(element.Split(' ')[2])); // Puis je sauvegarde using (StreamWriter writer = new StreamWriter(@"monFichier.txt")) { foreach (string ligne in listeOrdonnee) { writer.WriteLine(ligne); } }
public class MaClasse: IComparable<MaClasse> {
int IComparable<MaClasse>.CompareTo(MaClasse other) { return Distance.CompareTo(other); }
Dictionary<distance, string>en récupérant les distances de chaque string a la lecture de ton fichier.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionint IComparable<MaClasse>.CompareTo(MaClasse other) { return Distance.CompareTo(other.Distance); }(C'est mieux avec le ".Distance" )
(C'est mieux avec le ".Distance" )
20 févr. 2018 à 09:03
je suis moins que débutante j'ai utilisé votre code, mais suis en erreur sur liste de liste.OrderBy dans la phrase : IOrderedEnumerable<string> listeOrdonnee liste.OrderBy(element> Convert.ToInt32(element.Split(' ')[2]));
vous pouvez m'orienter ? merci
20 févr. 2018 à 10:44
Quelle erreur?
Quel est le contenu des variables au moment où ça plante?
20 févr. 2018 à 13:11
20 févr. 2018 à 13:27
20 févr. 2018 à 14:45