c# - 如何创建类似于 ForEach 的方法

标签 c#

这纯粹是学术性的,但我如何创建像 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/

相关文章:

c# - PostgreSQL 错误 : String was not recognized as a valid date time

c# - 将字符串以外的对象添加到 ToolStripDropDownButton DropDownItem

c# - 如何升级 Entity Framework 5 Code First 的 DataAnnotations

c# - 为什么我的 SignalR 应用有时会断开连接

javascript - JQuery 最接近的元素,来自 GridView 中的 TextBox

c# - MVC 如何防止通过名称调用 Action Method 而只允许通过路由调用它

c# - 如何将 JavaScript 日期对象转换为刻度

c# - 如何将 IEnumerable<AnonymousType> 转换为 List<T>?

c# - 确定 XDocument 中的元素

c# - 确保从内存中删除敏感数据