Предположим, что у меня есть массив string[] weekDays = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" };
, и я хочу узнать индекс элементов массива, содержащий 's'. Как это сделать с помощью Linq?
Я пробовал int[] indexOfDaysContainingS = weekDays.Where(day => day.Contains("s")).Select((day, index) => index).ToArray();
, но это возвращает 0,1,2
, поскольку, по-видимому, он получает индекс отфильтрованного IEnumberable<string>
после предложения Where(). Если я сначала поставлю Select(), то все, что у меня есть, является индексом и не может фильтроваться по дням.
Что мне нужно изменить, чтобы заставить его работать и вернуть 1,2,3
вместо этого?