Первый параметр n
связан с номером по номерам, а второй index
связан с индексом числа в последовательности. На самом деле, неважно, назовите их n
и index
, вы могли бы назвать что угодно. В любом случае первый параметр будет связан со случайным элементом в последовательности, а второй - с индексом этой последовательности.
Как более формально указано выше определение TakeWhile
Брэдли следующее:
public static IEnumerable<TSource> TakeWhile<TSource>(
this IEnumerable<TSource> source,
Func<TSource, int, bool> predicate
)
Как видно из вышеизложенного TakeWhile
является метод расширения определяется по типам, который реализует интерфейс IEnumerable
. Обратите внимание на две вещи: параметры, которые принимают в качестве входных данных этот метод, и тип возврата.
Возвращает последовательность объектов типа объектов, находящихся в указанной последовательности.
Что требуется в качестве параметра?
Предикат. Предикат - это метод, который принимает некоторые параметры и возвращает либо true
, либо false
. Каковы параметры предиката?
Параметры предиката - это элемент TSource
и int
. Элемент TSource
будет случайным элементом вашей последовательности, который будет int
будет индексом этого элемента.
Что это такое (n, index) => n >= index
?
Это выражение лямбда, которое действует как предикат.
Specifficaly, учитывая переменные называются n
и index
, возвращает true
если n>=index
, в противном случае возвращает false.
Поставляя это выражение метода TakeWhile
расширения, как проходит там Func<TSource, int, bool>
предикат. Итак, вы получаете то, что хотите.
Я изменил ваше название. Если это не значит, что вы имели в виду, пожалуйста, измените его. – gunr2171
Я согласился с вашими изменениями, спасибо. –