LenovoLegionToolkit

Форк
0
29 строк · 818.0 Байт
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4

5
namespace LenovoLegionToolkit.Lib.Extensions;
6

7
public static class EnumerableExtensions
8
{
9
    public static bool IsEmpty<T>(this IEnumerable<T> source)
10
    {
11
        if (source is ICollection<T> collection)
12
            return collection.Count == 0;
13
        return !source.Any();
14
    }
15

16
    public static void ForEach<T>(this IEnumerable<T> enumeration, Action<T> action)
17
    {
18
        foreach (var item in enumeration)
19
            action(item);
20
    }
21

22
    public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T> source, int size)
23
    {
24
        var enumerable = source as T[] ?? source.ToArray();
25
        return enumerable
26
            .Select((_, i) => enumerable.Skip(i * size).Take(size))
27
            .Where(a => a.Any());
28
    }
29
}
30

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.