Я бы удалил конфликты на вашем канале перезагрузки. Вам не нужно обнаруживать конфликты на канале перезагрузки. По умолчанию при перезагрузке будут вставлены данные, а в случае сбоя произойдет возврат к обновлению, что позволит продолжить работу остальной части пакета.
Эквивалент:
var last = list.FindLast(predicate);
var last = sequence.Where(predicate).LastOrDefault();
(Последний должен будет проверить все объекты в последовательность, однако...),
Эффективно "то, Где ()" часть Находки, и "Последний ()", является Последней частью "FindLast" соответственно. Точно так же FindFirst(predicate)
была бы карта к sequence.Where(predicate).FirstOrDefault()
и FindAll(predicate)
был бы sequence.Where(predicate)
.
Как насчет с 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;
}
}
можно добавить Вас набор к новому Списку путем передачи его для Списка <> конструктора.
List<MyClass> myList = new List<MyClass>(MyCol);
myList.FindLast....
Используйте дополнительный метод В последний раз (), который расположен в Системе пространства имен. Linq.
Ваш вопрос недопустим, потому что набор имеет последний элемент. Более специализированный набор, который действительно имеет полное упорядочивание, является списком. Более специализированный набор, который не имеет упорядочивания, является словарем.