C # читать текстовый файл.Как избежать повторного чтения - PullRequest
0 голосов
/ 26 декабря 2018

Я новичок в программировании, и у меня проблема с вызовом метода.
Я прочитал текстовый файл в первом методе и сохранил каждую строку в списке.И возвращаемым типом метода был List, чтобы я мог перенести любую конкретную строку текстового файла в другой метод.Но проблема в том, что мне приходится читать текстовый файл снова и снова всякий раз, когда я вызываю первый метод.Мне нужно вызывать метод более 100 раз, а длина текстового файла превышает 1000 строк.

public static List<double> readLine(int line) 
{
    //read a text file and save in readList
    return readList[line];
}

public static double useList()
{
    readLine(1);
    readLine(2);
    readLine(3);
    readLine(4);

   return 0;
}

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Если я вас правильно понял, вы хотите прочитать текст из текстового файла за один раз?

Если это так, попробуйте выяснить, где находится этот файл

string path = @"C:\path to textfile.txt";

, затем используйте систему.io, чтобы прочитать файлы и сохранить их .. это вернет массив строк

string[] textfromfile = System.IO.File.ReadAllLines(path);

в зависимости от того, что вы хотите сделать с информацией о текстовом файле, вы можете начать обрабатывать ее отсюда ..

дайте мне знать, поможет ли это решение.

0 голосов
/ 26 декабря 2018

Как я уже сказал в своем комментарии, просто прочитайте весь файл один раз и сохраните его в List<string>, используя File.ReadAllLines () (приведите вывод в список).Если у вас есть это, вы можете просто использовать List<string> напрямую, без необходимости каждый раз возвращаться к чтению файла.Смотри ниже.

public class Program
{
    private static List<string> lines;
    public static void Main()
    {
        // At this point lines will have the entire file. Each line in a different index in the list
        lines = File.ReadAllLines("..path to file").ToList();

        useList(); // Use it however
    }

    // Just use the List which has the same data as the file
    public static string readFromList(int num)
    {
        return lines[num];
    } 

    public static void useList()
    {
        string line1 = readFromList(1); // Could even be string line1 = lines[SomeNum];
        string line2 = readFromList(2);
    }
}
...