例如,我有int数组,我需要将每个元素增加2.在现代c#中使用linq和扩展方法,显而易见的解决方案是:
var array = new[] {1, 2, 3};
array.ForEach(p => p += 2);
但遗憾的是,代码不会编译,因为ForEach不是IEnumerable的扩展方法,但它的成员如果是List。所以我需要使用经典的foreach循环或转换数组来列出,但这种解决方案并不那么优雅和简单。
任何人都可以告诉我,为什么Microsoft将ForEach方法设计为List的成员,而不是IEnumerable的扩展方法?