2010-09-03 66 views
0

我從我的主要形式,單獨的一類,我已經創建了一個返回一個列表,並使用像這樣的項目增加了,從AA文件的行列表中已經的方法:遍歷返回的數據

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檢測到的錯誤,所以我覺得我是一個真正的生活程序員,因爲我的體貼。然後我意識到在我的主類中,我實際上不知道如何使用返回的數據。在返回數據之前,我從未做過任何方法。我google'd這個問題,但我不知道我正確的措辭,因爲我沒有發現任何concreate什麼我想要做的是遍歷返回列表中的每個項目,但我不知道如何處理來自稱爲該方法的表單的數據。這是有道理的,還是我正在討論這個錯誤?

+0

該代碼需要一些小的語法修復,但intellisense會意識到它們,請務必關閉StreamReader。 – 2010-09-03 06:41:49

回答

1

在方法調用的結果,使用foreach循環:

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

但是你的方法似乎並不認爲有用的 - 它並沒有真正做任何事情。最好是直接從你的調用代碼打開文件,並在讀取它們時處理這些行。這將避免創建臨時列表。

+0

+1 - 你打我吧 – Fenton 2010-09-03 06:40:28

+0

嗯,我實際上是從一個Web客戶端解析一個數據流,這是一個簡化版本的方法,但是謝謝你指出如何使用這些數據。你會認爲我現在已經意外地把自己弄到了那裏:) – Stev0 2010-09-03 06:46:24

0

如果你的意思是如何使用從您的方法返回的數據,它很容易:

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

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

一件事,請確保您創建的方法來關閉流:

read.Close(); 
return lines; 

希望它有幫助, 祝你好運!