迭代返回的数据

时间:2010-09-03 06:36:36

标签: c# iteration return

我在我创建的一个单独的类中创建了一个方法,它返回一个List,并使用类似的东西从一个文件的行向List添加项目:

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 个答案:

答案 0 :(得分:1)

对方法调用的结果使用foreach循环:

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

但是你的方法看起来并没有用 - 它实际上并没有做任何事情。最好直接从您的调用代码打开文件,并在读取时处理这些行。这样可以避免创建临时列表。

答案 1 :(得分:0)

如果您的意思是如何使用从您返回的数据方法,那么非常简单:

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

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

有一件事,请确保在您创建的方法中关闭流:

read.Close();
return lines;

希望它有所帮助, 祝你好运!