当前位置:  开发笔记 > 编程语言 > 正文

C#语法 - Lambda表达式的示例 - 通用列表上的ForEach()

如何解决《C#语法-Lambda表达式的示例-通用列表上的ForEach()》经验,为你挑选了4个好方法。

首先,我知道List<>框架中已有的泛型类的方法会迭代List<>.

但是作为一个例子,编写ForEach方法迭代List<>a Console.WriteLine(object.ToString())的每个对象并对每个对象执行操作的正确语法是什么.一些把该List<>作为第一个参数和lambda表达式作为第二个参数.

我见过的大多数示例都是作为扩展方法完成的,或者涉及LINQ.我正在寻找一个简单的方法示例.



1> Matt Hamilto..:
public void Each(IEnumerable items, Action action)
{
    foreach (var item in items)
        action(item);
}

......并且这样称呼它:

Each(myList, i => Console.WriteLine(i));


Func <>委托是具有返回值的方法的泛型委托.Action <>委托是具有返回值的方法的泛型委托.这是唯一的区别.

2> Peanut..:

上面也可以用较少的代码编写:

new List(items).ForEach(
    i => Console.WriteLine(i)
);

这将创建一个通用列表并使用IEnumerable填充它,然后调用列表对象ForEach.



3> 小智..:

这是你要的吗?

int[] numbers = { 1, 2, 3 };
numbers.ToList().ForEach(n => Console.WriteLine(n));



4> 小智..:
public static void Each(this IEnumerable items, Action action) {
foreach (var item in items) {
    action(item);
} }

......并且这样称呼它:

myList.Each(x => { x.Enabled = false; });


一个加号,用于显示在Each中执行多个操作的方式。
推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有