Это string
, Stream
или как? в любом случае, вы хотите TextReader
- вопрос просто StringReader
против StreamReader
. Если у вас есть , что , я бы сделал что-то вроде:
public static IEnumerable<string> ReadLines(TextReader reader) {
string line;
while((line = reader.ReadLine()) != null) yield return line;
}
затем с любым читателем, я могу либо пользователь:
foreach(var line in ReadLines(reader)) {
// note: non-buffered - i.e. more memory-efficient
}
или
string[] lines = ReadLines(reader).ToArray();
// note: buffered - all read into memory at once (less memory efficient)
т.е. если это Stream
вы читаете из:
using(var reader = new StreamReader(inputStream)) {
foreach(var line in ReadLines(reader)) {
// do something fun and interesting
}
}