C# Language Lentement lire un fichier ligne par ligne via un IEnumerable


Exemple

Lorsque vous travaillez avec des fichiers volumineux, vous pouvez utiliser la méthode System.IO.File.ReadLines pour lire toutes les lignes d'un fichier dans une IEnumerable<string> . Ceci est similaire à System.IO.File.ReadAllLines , sauf qu’il ne charge pas tout le fichier en mémoire en même temps, ce qui le rend plus efficace lorsque vous travaillez avec des fichiers volumineux.

IEnumerable<string> AllLines = File.ReadLines("file_name.txt", Encoding.Default);

Le deuxième paramètre de File.ReadLines est facultatif. Vous pouvez l'utiliser lorsque cela est nécessaire pour spécifier l'encodage.

Il est important de noter qu'appeler ToArray , ToList ou une autre fonction similaire forcera toutes les lignes à être chargées en une fois, ce qui signifie que les avantages de l'utilisation de ReadLines sont annulés. Il est préférable d'énumérer sur IEnumerable utilisant une boucle foreach ou LINQ si vous utilisez cette méthode.