假设我有一个包含3个元素的列表:
List<int> a = new List<int>{ 1, 2, 3};
a.Select(myFunction);
第二行运行&#34; myFunction&#34;对于列表中的每个元素。 Select需要返回类型。是否存在类似于&#34;选择&#34;的扩展方法什么都没有回报?即我可以喂它&#34;无效&#34;功能
(是的,我知道我可以简单地预告)
如果没有内置这样的功能,你能帮忙实施一下吗?
答案 0 :(得分:4)
您可以使用List<T>.ForEach
方法:
List<int> a = new List<int>{ 1, 2, 3};
a.ForEach(myFunction);
答案 1 :(得分:4)
您正在寻找的是List<T>.ForEach(Action<T>)
命名空间中的System.Collections.Generic
方法。
示例:
void Main()
{
List<int> data = new List<int>() {1,2,3,4};
data.ForEach(x => print(x));
}
private static void print(int number)
{
number.Dump();
}
答案 2 :(得分:1)
如果你想坚持Enumerable.Select
(即使用IEnumerable<T>
序列) - 只需包装lambda并从函数返回任何内容:
a.Select(x => { myFunction(x); return true;});