Может ли кто-нибудь объяснить, как работает Union
в LINQ?
Говорят, что он объединяет две последовательности и удаляет дубликаты.
Но могу ли я как-то настроить поведение удаления дубликатов - скажем, если я хочу использовать элемент из the second sequence
в случае дублирования или из the first sequence
.
Или даже если я хочу как-то объединить эти значения в результирующую последовательность?
Как это реализовать?
Обновлять
Наверно я неправильно описал проблему, допустим у нас есть какое-то значение:
class Value {
String name
Int whatever;
}
и используемый компаратор выполняет x.name == y.name
проверку.
И допустим, что иногда я знаю, что должен взять элемент из второй последовательности, потому что его поле whatever
новее/лучше, чем поле whatever
первой последовательности.
В любом случае, я бы использовал вариант sequence1.Union(sequence2)
или sequence2.Union(sequence1)
методов.
Спасибо