Maison > développement back-end > C++ > Quelle est la manière la plus efficace de compter les lignes dans un fichier texte C# ?

Quelle est la manière la plus efficace de compter les lignes dans un fichier texte C# ?

DDD
Libérer: 2025-01-11 08:36:44
original
460 Les gens l'ont consulté

What's the Most Efficient Way to Count Lines in a C# Text File?

Méthode efficace pour compter les lignes dans les fichiers texte C#

Compter le nombre de lignes dans un fichier texte est une tâche courante en programmation. Voici comment y parvenir efficacement en C# :

1. Basé sur la taille du fichier (inefficace mais simple)

La méthode

File.ReadAllLines charge le fichier entier dans un tableau. Bien que simple, cette méthode est très gourmande en mémoire pour les fichiers volumineux. Par exemple, si vous travaillez avec un fichier de 4 Go sur un système 32 bits, il se peut qu'il n'y ait pas suffisamment de mémoire pour allouer la baie.

<code class="language-csharp">var lineCount = File.ReadAllLines(@"C:\file.txt").Length;</code>
Copier après la connexion

2. Méthode d'itération de ligne (efficace)

Utilisez une boucle File.OpenText et while pour parcourir le fichier ligne par ligne, en incrémentant le compteur. Cette méthode est plus efficace que ReadAllLines et ne nécessite pas d'allouer de grands tableaux en mémoire.

<code class="language-csharp">var lineCount = 0;
using (var reader = File.OpenText(@"C:\file.txt"))
{
    while (reader.ReadLine() != null)
    {
        lineCount++;
    }
}</code>
Copier après la connexion

Considérations relatives aux performances et à la mémoire :

ReadAllLines Pour les petits fichiers, cela peut être plus rapide en raison des optimisations, mais pour les gros fichiers, cela deviendra considérablement plus lent en raison de l'allocation de mémoire. D'un autre côté, l'itération OpenText est plus efficace en termes d'utilisation de la mémoire, mais ses performances par rapport à ReadAllLines dépendent de la taille du fichier et de l'architecture du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal