Здесь немного кода, который выводит квадраты чисел от 0 до 9:
for (int i = 0; i < 10; i++)
Console.WriteLine(i*i);
Выполнение чего-то от 0 до N на 1 через цикл for
- очень распространенная идиома.
Здесь используется метод UpTo
, который выражает это:
class MathUtil
{
public static void UpTo(int n, Action<int> proc)
{
for (int i = 0; i < n; i++)
proc(i);
}
}
Пример квадратов выше:
MathUtil.UpTo(10, (i) => Console.WriteLine(i * i));
Мой вопрос в том, имеет ли стандартная библиотека С# что-то вроде выше UpTo
?
В идеале, мне бы хотелось, чтобы метод "UpTo" был методом для всех целых объектов. Поэтому я мог бы сделать:
var n = 10;
n.UpTo(...);
Возможно ли это в С#?