如果没有结果,如何在Linq中执行“选择”

时间:2015-01-29 06:59:26

标签: c# linq extension-methods

假设我有一个包含3个元素的列表:

List<int> a = new List<int>{ 1, 2, 3};
a.Select(myFunction);

第二行运行&#34; myFunction&#34;对于列表中的每个元素。 Select需要返回类型。是否存在类似于&#34;选择&#34;的扩展方法什么都没有回报?即我可以喂它&#34;无效&#34;功能

(是的,我知道我可以简单地预告)

如果没有内置这样的功能,你能帮忙实施一下吗?

3 个答案:

答案 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;});