Как выбрать индекс массива после предложения Where с помощью Linq?

Предположим, у меня есть массив string [] weekDays = {"Понедельник", "Вторник", "Среда", "Четверг", "Пятница"}; , и я хочу узнать индекс элементов массива, содержащих 's'. Как я могу это сделать с помощью Linq?

Я пробовал int [] indexOfDaysContainS = weekDays.Where (day => day.Contains ("s")). Select ((day, index) => index ) .ToArray (); , но это возвращает 0,1,2 , поскольку, предположительно, вместо этого он получает индекс отфильтрованного IEnumberable после предложения Where () . Если я сначала поставлю Select (), то все, что у меня есть, это индекс, и я могу ' t фильтровать по дням.

Что мне нужно изменить, чтобы он работал и вместо этого возвращал 1,2,3 ?

27
задан mikel 20 November 2010 в 10:37
поделиться