Каждый раз, когда мне нужно что-то сделать N раз внутри алгоритма с использованием C #, я пишу этот код
for (int i = 0; i < N; i++)
{
...
}
Изучение Ruby Я узнал о методе times () , который можно использовать с такой же семантикой, как эта
N.times do
...
end
Фрагмент кода в C # выглядит более сложным, и мы должны объявить бесполезную переменную i .
Я пытался написать метод расширения, который возвращает IEnumerable , но я не удовлетворен результатом, потому что я снова должен объявить переменную цикла i .
public static class IntExtender
{
public static IEnumerable Times(this int times)
{
for (int i = 0; i < times; i++)
yield return true;
}
}
...
foreach (var i in 5.Times())
{
...
}
Возможно ли использовать некоторые новые функции языка C # 3.0, чтобы сделать цикл N раз более элегантным?