这纯粹是学术性的,但我如何创建像 ForEach 这样的方法?
假设我想做如下的事情:
SomeTenumerable.MyOwnFunction(x =>
{
x.Id = 0;
x.Order_Id = 0;
});
注意:我才刚刚熟悉 func<T,TResult>
, 所以我不确定这是否是同一件事。
如果你能告诉我我想要实现的目标的正确名称/标签,我会加分,我猜这是某种委托(delegate)?
最佳答案
此处演示 - https://dotnetfiddle.net/v7JKoo
.我经常使用的每个扩展 - 取自 http://extensionmethod.net/csharp/ienumerable-t/each-t
public static void Each<T>(this IEnumerable<T> items, Action<T> action)
{
if (items == null) return;
foreach (var item in items)
action(item);
}
例子:
var items = new List<Item>();
// populate items
items.Each(item => item.DoSomething());
是的,你正在传递一个委托(delegate)(这里是一个 Action )来对每个项目执行
PS 如果您想返回,请查看 linqs .Where 或 .Select
关于c# - 如何创建类似于 ForEach 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27308890/