Ещё Два Метода-Расширения LINQ в .NET 10
В предварительной версии 6 .NET 10 появились ещё два метода LINQ: InfiniteSequence и Sequence.
1. InfiniteSequence
InfiniteSequence — это простой генератор, позволяющий получить бесконечную последовательность из начальной точки, задавая размер шага:
var steps =
Enumerable.InfiniteSequence(0, 5)
.Take(10)
.ToList();
foreach (var step in steps)
Console.WriteLine(step);
В результате будут выведены значения 0, 5, 10, 15, …, 45.
Замечание: будьте осторожны и не вызывайте ToList/Count и подобные функции без Take, иначе вы получите исключение «Недостаточно памяти».
2. Sequence
Это почти то же самое, что InfiniteSequence, с той разницей, что можно определить включительно верхнюю границу:
var steps =
Enumerable.Sequence(0, 45, 5)
.ToList();
foreach (var step in steps)
Console.WriteLine(step);
Результат будет таким же, как в предыдущем примере.
Источник: https://steven-giesel.com/blogPost/5d88d808-03ac-431a-82fa-756b59b38a7d/two-more-linq-extensions-in-dotnet-10