0 votes

Charger le fichier le plus grand en mémoire

J'ai un répertoire dans lequel les noms de fichiers sont entièrement des numéros. Je veux trouver le numéro le plus élevé pour pouvoir ouvrir le fichier et commencer à traiter les données qu'il contient. Quelle serait la méthode la plus simple pour y parvenir ? Ma première idée est de charger le répertoire de noms de fichiers dans un tableau et d'itérer dans le tableau pour voir lequel est le plus grand. Des suggestions ?

2voto

masenkablast Points 2956

Est-ce que TryParse pourrait aider ici ?

Int64 val;
string maxFileName = dirInfo.GetFiles().OrderByDescending(s => Int64.TryParse(s.Name, out val) ? val : 0).First().Name;

0voto

Vlad Points 23480

Qu'est-ce qui est mauvais dans votre "idée de blush" ? Je n'y vois aucun problème.

0voto

Reed Copsey Points 315315

Vous pouvez simplement utiliser DirectoryInfo.GetFiles et utiliser LINQ pour trouver la valeur la plus élevée :

string filename = myDirectoryInfo.GetFiles().Select(fileInfo => int.Parse(fileInfo.Name)).Max().ToString();

(Cependant, vous souhaiteriez probablement un contrôle d'erreur plus rigoureux, puisque cette méthode sera rejetée si le dossier contient un nom de fichier qui n'est pas juste un numéro...)

0voto

PeachLabs Points 957

Oui, vous pouvez le faire et la manière la plus simple de charger tous les noms de fichiers en une seule fois est dans Classe de répertoire

utiliser la fonction GetFiles.

Merci

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X