我正在寻找最短的代码来创建方法来对IEnumerable中的项执行常规操作。
例如:
public interface IPupil
{
string Name { get; set; }
int Age { get; set; }
}
我对解决这些例子的各种方法感兴趣:foreach(长手),委托,LINQ,匿名方法等......
抱歉措辞不好,我无法准确描述我的目标!
答案 0 :(得分:7)
求和和平均:使用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在一次传递中计算多个事物(例如,平均和总和)是很棘手的。如果您对此感兴趣,请查看Marc Gravell和我撰写的Push LINQ项目。这是一个非常专业的要求。