相关疑难解决方法(0)

LINQ相当于foren for IEnumerable <T>

我想在LINQ中做相同的以下内容,但我无法弄清楚如何:

IEnumerable<Item> items = GetItems();
items.ForEach(i => i.DoStuff());
Run Code Online (Sandbox Code Playgroud)

什么是真正的语法?

linq ienumerable foreach

694
推荐指数
12
解决办法
46万
查看次数

为什么IEnumerable上没有ForEach扩展方法?

受到另一个询问失踪问题的启发 Zip功能的:

为什么课堂上没有ForEach扩展方法Enumerable?还是在任 唯一获得ForEach方法的类是List<>.有没有理由错过(表演)?

.net c# vb.net extension-methods

368
推荐指数
10
解决办法
14万
查看次数

Linq风格"For Each"

可能重复:
Linq相当于IEnumerable的foreach

是否有"For each"操作的Linq样式语法?

例如,将基于一个集合的值添加到另一个集合,已存在的集合:

IEnumerable<int> someValues = new List<int>() { 1, 2, 3 };

IList<int> list = new List<int>();

someValues.ForEach(x => list.Add(x + 1));
Run Code Online (Sandbox Code Playgroud)

代替

foreach(int value in someValues)
{
  list.Add(value + 1);
}
Run Code Online (Sandbox Code Playgroud)

.net c# linq foreach

182
推荐指数
5
解决办法
36万
查看次数

C#foreach vs functional each

您更喜欢哪一种?

foreach(var zombie in zombies)
{
    zombie.ShuffleTowardsSurvivors();
    zombie.EatNearbyBrains();
}
Run Code Online (Sandbox Code Playgroud)

要么

zombies.Each(zombie => {
    zombie.ShuffleTowardsSurvivors();
    zombie.EatNearbyBrains();
});
Run Code Online (Sandbox Code Playgroud)

c# functional-programming

19
推荐指数
3
解决办法
5775
查看次数

现有的LINQ扩展方法类似于Parallel.For?

可能重复:
LINQ等效于IEnumerable <T>的foreach

用于ienumerable的linq扩展方法非常方便......但是如果你想要做的就是对枚举中的每个项应用一些计算而不返回任何内容,那就没有用了.所以我想知道我是否只是错过了正确的方法,或者它是否真的不存在,因为我宁愿使用内置版本,如果它可用......但我还没找到一个:-)

我可以发誓在某处有一个.ForEach方法,但我还没有找到它.与此同时,我确实编写了自己的版本,以防它对其他人有用:

using System.Collections;
using System.Collections.Generic;

public delegate void Function<T>(T item);
public delegate void Function(object item);

public static class EnumerableExtensions
{
    public static void For(this IEnumerable enumerable, Function func)
    {
        foreach (object item in enumerable)
        {
            func(item);
        }
    }

    public static void For<T>(this IEnumerable<T> enumerable, Function<T> func)
    {
        foreach (T item in enumerable)
        {
            func(item);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

用法是:

myEnumerable.For<MyClass>(delegate(MyClass item) { item.Count++; });

c# linq iteration extension-methods

14
推荐指数
2
解决办法
6372
查看次数

有没有办法在LINQ中设置值?

有没有更好的方法来使用LINQ进行这些分配?

IEnumerable<SideBarUnit> sulist1 = newlist.Where(c => c.StatusID == EmergencyCV.ID);
foreach (SideBarUnit su in sulist1) su.color = "Red";
Run Code Online (Sandbox Code Playgroud)

c# linq

10
推荐指数
1
解决办法
268
查看次数