LINQ equivalent of foreach for IEnumerable

后端 未结 22 2626
夕颜
夕颜 2020-11-21 22:54

I\'d like to do the equivalent of the following in LINQ, but I can\'t figure out how:

IEnumerable items = GetItems();
items.ForEach(i => i.DoS         


        
22条回答
  •  傲寒
    傲寒 (楼主)
    2020-11-21 23:26

    If you want to act as the enumeration rolls you should yield each item.

    public static class EnumerableExtensions
    {
        public static IEnumerable ForEach(this IEnumerable enumeration, Action action)
        {
            foreach (var item in enumeration)
            {
                action(item);
                yield return item;
            }
        }
    }
    

提交回复
热议问题