Как сделать так, чтобы через определенное количество циклов выполнялось "что-то"?
Например у меня есть цикл do .. while()
, в нем происходят определенные итерации, и я хочу, чтобы через 3 цикла к определенной переменной i
прибавлялось число 2.
Используйте оператор %:
void Main()
{
var data = new[] { 3, 9, 11, 13, 17, 21 };
this.Something(data);
}
public void Something(IEnumerable<int> data)
{
var pos = 0;
foreach (var element in data)
{
if (pos % 3 == 0)
{
Console.WriteLine($"pos = {pos}, element = {element}, doubled = {2 * element}");
}
else
{
Console.WriteLine($"pos = {pos}, element = {element}");
}
pos++;
}
}
Выведет:
pos = 0, element = 3, doubled = 6
pos = 1, element = 9
pos = 2, element = 11
pos = 3, element = 13, doubled = 26
pos = 4, element = 17
pos = 5, element = 21
Здесь 3 -- это величина шага (через три цикла), а ноль -- это смещение.
Можно например поменять условие на pos % 3 = 1 и получить такой вариант:
pos = 0, element = 3
pos = 1, element = 9, doubled = 18
pos = 2, element = 11
pos = 3, element = 13
pos = 4, element = 17, doubled = 34
pos = 5, element = 21
А для pos == 2 -- такой:
pos = 0, element = 3
pos = 1, element = 9
pos = 2, element = 11, doubled = 22
pos = 3, element = 13
pos = 4, element = 17
pos = 5, element = 21, doubled = 42
Принцип понятен?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Задача: сделать автозагрузку программы с админскими правами (установлена в Program Files)Программа использует Long Polling для установления длительного...
Добрый день! Уже целый день пытаюсь подружить Firebird с EntytiFramework и не получаетсяДелал всё по инструкции https://habrahabr
Есть сайт на котором присутствуют битые ссылки(которые ведут на 404), как с помощью C# найти эти ссылки и удалить адрес куда они ведут? То есть...