Вопрос про LINQ.Where(индекс)
Цитата: Удаленный пользователь от 15.05.2022, 15:31Приветствую форумчане 👋. Я осваиваю линк. Связи с чем возник вопрос к методу, а именно к индексу в методе. Первый возвращает ожидаемый для меня результат. Второй нет.
int[] a1 = { 2, 2, 2, 2, 2, 2, 2 }; int[] a2 = { 3, 3, 3, 3, 3}; var res1 = a1.Where((el, index) => index % 3 != 1).ToArray(); var res2 = a2.Where((el, index) => index % 3 != 1).ToArray();Это условие вроде должно выбрать все элементы по индексу, которые не делятся на 3 без остатка. Что ожидаемо для меня, составляет в первом случае 5 элементов. Но не пойму почему во втором 3 получается. Вроде по условию 4 должно быть?
Приветствую форумчане 👋. Я осваиваю линк. Связи с чем возник вопрос к методу, а именно к индексу в методе. Первый возвращает ожидаемый для меня результат. Второй нет.
int[] a1 = { 2, 2, 2, 2, 2, 2, 2 };
int[] a2 = { 3, 3, 3, 3, 3};
var res1 = a1.Where((el, index) => index % 3 != 1).ToArray();
var res2 = a2.Where((el, index) => index % 3 != 1).ToArray();
Это условие вроде должно выбрать все элементы по индексу, которые не делятся на 3 без остатка. Что ожидаемо для меня, составляет в первом случае 5 элементов. Но не пойму почему во втором 3 получается. Вроде по условию 4 должно быть?
Цитата: Удаленный пользователь от 15.05.2022, 18:38Всё верно работает. index начинается с 0. Тоесть в 1 случае от 0 до 6 и это 5 двоек.
Во 2 случае от 0 до 4 и это 3 троек.
[MNotice]У нас здороваются[/MNotice]
Всё верно работает. index начинается с 0. Тоесть в 1 случае от 0 до 6 и это 5 двоек.
Во 2 случае от 0 до 4 и это 3 троек.
[MNotice]У нас здороваются[/MNotice]