Идиоматический язык C# `myList.All((item, index) => {...})`C#

Место общения программистов C#
Ответить
Anonymous
 Идиоматический язык C# `myList.All((item, index) => {...})`

Сообщение Anonymous »

У меня есть список на C#, и я хочу проверить, что все элементы списка соответствуют некоторому условию. Это условие зависит от элемента в списке, а также от индекса этого элемента в списке.
Не похоже, что .All(..) имеет перегрузку что дает индекс? Я хочу сделать что-то вроде:

Код: Выделить всё

bool result = list.All((element, index) => {
// for example:
return element != null && index % 2 == 0;
// (my actual condition is more complicated, but that's not the point of the question)
});
Но это не работает, поскольку не существует версии .All(...), предоставляющей индекс. Я также придумал:

Код: Выделить всё

bool result = list.Select((element, index) => {
// for example:
return element != null && index % 2 == 0;
}).All(identity => identity);
Это работает, но .All(identity =>identity) заставляет меня немного умереть внутри.
Есть ли более идиоматический способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/791 ... item-index
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»