LenovoLegionToolkit
29 строк · 818.0 Байт
1using System;2using System.Collections.Generic;3using System.Linq;4
5namespace LenovoLegionToolkit.Lib.Extensions;6
7public static class EnumerableExtensions8{
9public static bool IsEmpty<T>(this IEnumerable<T> source)10{11if (source is ICollection<T> collection)12return collection.Count == 0;13return !source.Any();14}15
16public static void ForEach<T>(this IEnumerable<T> enumeration, Action<T> action)17{18foreach (var item in enumeration)19action(item);20}21
22public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> source, int size)23{24var enumerable = source as T[] ?? source.ToArray();25return enumerable26.Select((_, i) => enumerable.Skip(i * size).Take(size))27.Where(a => a.Any());28}29}
30