Maison >développement back-end >C++ >Quelle est la façon la plus efficace de lire un fichier texte ligne par ligne en C #?

Quelle est la façon la plus efficace de lire un fichier texte ligne par ligne en C #?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-29 08:25:10383parcourir

What's the Most Efficient Way to Read a Text File Line by Line in C#?

C # Lire efficacement les fichiers texte

Lors de la gestion des fichiers texte en C #, il est important de le lire efficacement. La méthode couramment utilisée consiste à utiliser pour analyser les fichiers par ligne. Cependant, afin d'améliorer les performances, il existe plusieurs autres technologies à considérer.

<.> 1. StreamReader avec le tampon: StreamReader.ReadLine()

La taille du tampon par défaut est de 1024 octets. L'augmentation de cette valeur peut considérablement améliorer les performances, en particulier pour les fichiers volumineux. Envisagez d'utiliser la taille du tampon de réglage de code suivant:

<.> 2. File.readlines:

StreamReader

Cette méthode fournit des alternatives plus efficaces que
<code class="language-csharp">using (var fileStream = File.OpenRead(fileName))
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8, true, 128))
{
    string line;
    while ((line = streamReader.ReadLine()) != null)
    {
        // 处理每一行
    }
}</code>
. Il est chargé à la demande pour minimiser la consommation de mémoire:

<.> 3. File.readalllines:

StreamReader.ReadLine() Cette méthode renvoie tout le tableau de toutes les lignes, mais par rapport à

, l'efficacité de la mémoire est faible. Si vous devez accéder à la ligne au hasard, cette méthode est applicable:
<code class="language-csharp">var lines = File.ReadLines(fileName);
foreach (var line in lines)
    // 处理每一行</code>

<.> 4. String.split:

L'utilisation de la plus efficace de la ligne de division, en particulier pour les grands documents. Il doit charger le fichier entier dans la mémoire et allouer un tableau pour toutes les lignes: File.ReadLines

<code class="language-csharp">var lines = File.ReadAllLines(fileName);
for (var i = 0; i < lines.Length; i++)
    // 处理每一行</code>
Méthode recommandée:

Afin d'obtenir les meilleures performances, il est recommandé d'utiliser

car il a un équilibre entre la vitesse et l'efficacité de la mémoire. Si vous avez besoin d'une option de partage de fichiers spécifique, vous pouvez envisager d'utiliser le

avec la taille du tampon. String.Split

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!

Déclaration:
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