Перебор возвращаемых данных - PullRequest
0 голосов
/ 03 сентября 2010

У меня есть метод в отдельном классе от созданной мной основной формы, который возвращает список и добавляет элементы в список из строк файла, используя что-то вроде этого:

public List<string> testMethod(string data);
StreamReader read = new StreamReader(data);
List<string> lines= new List<string>();
while(read.Peek >= 0)
{
  lines.Add(read.ReadLine());
}
return lines;

Это не отображает никаких ошибок, обнаруженных Intellisense, поэтому я чувствовал, что я был настоящим программистом из-за своей внимательности.Потом я понял, что в моем основном классе я не знаю, как использовать возвращенные данные.Я никогда не делал метод, который возвращал данные.Я погуглил эту проблему, но я не уверен, что формулирую ее правильно, так как я не нашел ничего конкретного. Что я хотел бы сделать, так это перебирать каждый элемент в возвращенном списке, но я не знаю, какиметь дело с данными из формы, вызвавшей метод.Имеет ли это смысл или я ошибаюсь?

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Использовать цикл foreach для результата вызова метода:

List<string> items = testMethod(data);
foreach (string item in items)
{
    // ...
}

Однако ваш метод не кажется таким полезным - он ничего не делает. Может быть, лучше просто открыть файл прямо из вашего вызывающего кода и обрабатывать строки по мере их чтения. Это позволит избежать создания временного списка.

0 голосов
/ 03 сентября 2010

Если вы имеете в виду, как использовать данные, возвращаемые вашим методом, это довольно просто:

List<string> response = testMethod("file");

foreach ( string line in response )
{
  Console.WriteLine(line);
}

Во-первых, закройте поток в методе, который вы создали:

read.Close();
return lines;

Надеюсь, это поможет, Желаем удачи!

...