Вам действительно нужно использовать StreamReader
для этого?
IEnumerable<int> numbers =
Regex.Split(File.ReadAllText(@"c:\test.txt"), @"\D+").Select(int.Parse);
(Очевидно, что нецелесообразно читать весь файл одним ударом, тогда вам нужно будет транслировать его, но если вы сможете использовать File.ReadAllText
, то, на мой взгляд, так и есть). 1006 *
Для полноты вот потоковая версия:
public IEnumerable<int> GetNumbers(string fileName)
{
using (StreamReader sr = File.OpenText(fileName))
{
string line;
while ((line = sr.ReadLine()) != null)
{
foreach (string item in Regex.Split(line, @"\D+"))
{
yield return int.Parse(item);
}
}
}
}