我正在做一个 C# 练习来创建一个操作,该操作接受一个集合,对集合中的每个对象执行一个函数,并返回一个修改过的对象的集合。
我的代码目前如下:
public static IEnumerable<U> Accumulate<T, U>(this IEnumerable<T> collection, Func<T, U> func)
{
IEnumerable<U> output = Enumerable.Empty<U>();
foreach (T item in collection)
{
output.Append(func(item));
}
return output;
}
这只是返回一个空集合,我不知道为什么。
在另一个线程中看到这种方法后,我尝试在 foreach 中创建该项目的副本,如下所示:
foreach (T item in collection)
{
U copy = func(item);
output.Append(copy);
}
但这并没有解决任何问题。
我做了一些研究,但真的找不到任何例子来做我在这里想做的事情。我读了一些关于闭包的东西,但不能真正理解它,因为我是 C# 的新手。
慕容708150
摇曳的蔷薇
相关分类