FindLast на IEnumerable

Я бы удалил конфликты на вашем канале перезагрузки. Вам не нужно обнаруживать конфликты на канале перезагрузки. По умолчанию при перезагрузке будут вставлены данные, а в случае сбоя произойдет возврат к обновлению, что позволит продолжить работу остальной части пакета.

5
задан Ruben Bartelink 28 February 2011 в 09:29
поделиться

5 ответов

Эквивалент:

var last = list.FindLast(predicate);

var last = sequence.Where(predicate).LastOrDefault();

(Последний должен будет проверить все объекты в последовательность, однако...),

Эффективно "то, Где ()" часть Находки, и "Последний ()", является Последней частью "FindLast" соответственно. Точно так же FindFirst(predicate) была бы карта к sequence.Where(predicate).FirstOrDefault() и FindAll(predicate) был бы sequence.Where(predicate).

8
ответ дан 18 December 2019 в 14:52
поделиться

Как насчет с LINQ к объектам:

var item = data.LastOrDefault(x=>x.Whatever == "abc"); // etc

Если у Вас только есть C# 2, можно использовать служебный метод вместо этого:

using System;
using System.Collections.Generic;
static class Program {
    static void Main() {
        int[] data = { 1, 2, 3, 4, 5, 6 };

        int lastOdd = SequenceUtil.Last<int>(
            data, delegate(int i) { return (i % 2) == 1; });
    }    
}
static class SequenceUtil {
    public static T Last<T>(IEnumerable<T> data, Predicate<T> predicate) {
        T last = default(T);
        foreach (T item in data) {
            if (predicate(item)) last = item;
        }
        return last;
    }
}
4
ответ дан 18 December 2019 в 14:52
поделиться

можно добавить Вас набор к новому Списку путем передачи его для Списка <> конструктора.

List<MyClass> myList = new List<MyClass>(MyCol);
myList.FindLast....
1
ответ дан 18 December 2019 в 14:52
поделиться

Используйте дополнительный метод В последний раз (), который расположен в Системе пространства имен. Linq.

0
ответ дан 18 December 2019 в 14:52
поделиться

Ваш вопрос недопустим, потому что набор имеет последний элемент. Более специализированный набор, который действительно имеет полное упорядочивание, является списком. Более специализированный набор, который не имеет упорядочивания, является словарем.

0
ответ дан 18 December 2019 в 14:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: