var stuff = from l in File.ReadAllLines(filename)
let x = l.Split(new [] {',', ' '}, StringSplitOptions.RemoveEmptyEntries)
.Skip(1)
.Select(s => int.Parse(s))
select new
{
Sum = x.Sum(),
Average = x.Average()
};
Если вы читаете большие файлы и использование памяти вызывает беспокойство, то с помощью .NET 4 будет работать лучше:
var stuff = from l in File.ReadLines(filename)
let x = l.Split(new [] {',', ' '}, StringSplitOptions.RemoveEmptyEntries)
.Skip(1)
.Select(s => int.Parse(s))
select new
{
Sum = x.Sum(),
Average = x.Average()
};
В обоих случаях переменная stuff
содержитперечислимое, которое на самом деле не будет выполняться, пока вы не начнете читать из него (например, внутри цикла foreach
).