Суммирование и усреднение: легко с LINQ:
var sum = pupils.Sum(pupil => pupil.Age);
var average = pupils.Average(pupil => pupil.Age);
Построение строки CSV - здесь есть различные варианты, включая написание собственных методов расширения. Это будет работать, хотя:
var csv = string.Join(",", pupils.Select(pupil => pupil.Name).ToArray());
Обратите внимание, что сложно вычислить несколько вещей (например, среднее и сумма) за один проход данных с обычным LINQ. Если вы заинтересованы в этом, взгляните на проект Push LINQ , который мы с Марком Гравеллом написали. Это довольно специфическое требование.