Проверка двух строк одновременно
for (int i = 2; i < list.Count; i += 3)
{
if ((int.Parse(list.ElementAt(i))==5 ))
{
listBox.Items.Add(list.ElementAt(i - 2));
listBox.Items.Add(list.ElementAt(i - 1));
listBox.Items.Add(list.ElementAt(i));
listBox.Items.Add("\n");
}
}
Этот цикл выполняет условие "Третья строка = 5" и выводит записи удовлетворяющие это условие. С ним всё хорошо, но мне нужно добавить туда ещё условие "Вторая строка = 2". Как это можно сделать?
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Очень странно вы используете Enumerable.ElementAt(i), когда List<T> имеет индексатор, можно просто list[i]. И при определенном количестве элементов спика, вы можете получить IndexOutOfRangeException, для защиты от этого list.Count я поменял на list.Count - 2. А индексацию лучше начинать с нуля.
for (int i = 0; i < list.Count - 2; i += 3)
{
if (int.Parse(list[i + 2]) == 5 && int.Parse(list[i + 1]) == 2)
{
listBox.Items.Add(list[i]);
listBox.Items.Add(list[i + 1]);
listBox.Items.Add(list[i + 2]);
listBox.Items.Add("\n");
}
}