В продолжении
вопроса.
Ребят впервые вообще пишу, что-то похожее.
Общая задача - построение строки запроса такого вида:
text data01 text 1 2 3 4 5
Я генерирую эти строки, указывая разные параметры, для примера
-
первый параметр, это количество элементов data (который начинается всегда с 01 и до 999)
-
второй параметр это диапазон цифр к примеру от 1 до 5
По простому условию в цикле, с первым параметром я легко генерирую строки:
text data01
text data02
text data03
...
text data10
text data11
text data12
Второй параметр у меня используется, для вычисления элементов массива и их чередования.
То есть, если отдельно выводить их, то все гуд. Чередование такое(первый элемент смещается в конец, при каждой итерации:
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
Моя задача, скрестить эти два цикла и совместить строки. Вот мой код:
int start = 1, last = 5;
int[] arr = Enumerable.Range(start, last - start + 1).ToArray();
int count = arr.Count();
int n = 5; // количество data
for (int j = 1; j < n; j++)
{
textBox.AppendText("text data0" + j);
for (int i = 0; i < count; i++) {
textBox.AppendText($"{ arr[(i + j) % count]}");
}
}
Так я получаю, что мне нужно. Но первая итерация идет неверно (то что начинается с 0, пропускает итерацию). Если я дописываю условие для 0, эта итерация не отображается, но 2 цикл, который выводит чередование массива, начинается со 2 итерации.
То что я получаю:
text data00 1 2 3 4 5
text data01 2 3 4 5 1
text data02 3 4 5 1 2
text data03 4 5 1 2 3
text data04 5 1 2 3 4
text data05 1 2 3 4 5
А хочу:
text data01 1 2 3 4 5
text data02 2 3 4 5 1
text data03 3 4 5 1 2
text data04 4 5 1 2 3
text data05 5 1 2 3 4
Как пропустить 1 итерацию цикла, где 0 получает строку 1 2 3 4 5
но при этом 2й итерации цикла, начать тоже со строки 1 2 3 4 5, а не с 2 3 4 5 1?