У меня есть список объектов. Эти объекты состоят из пользовательского класса, который в основном содержит два строковых поля String1
и String2
.
Что мне нужно знать, так это то, дублируется ли какая-либо из этих строк в этом списке. Поэтому я хочу знать, если objectA.String1 == objectB.String1
, или ObjectA.String2 == ObjectB.String2
, или ObjectA.String1 == ObjectB.String
", или ObjectA.String2 == ObjectB.String1
.
Кроме того, я хочу пометить каждый объект, который содержит повторяющуюся строку, как дублирующую строку (с bool HasDuplicate
на объекте).
Так что, когда обнаружение дублирования будет запущено, я хочу просто выполнить поиск по списку следующим образом:
foreach (var item in duplicationList)
if (item.HasDuplicate)
Console.WriteLine("Duplicate detected!");
Казалось, это хорошая проблема, которую нужно решить с помощью LINQ, но я не могу до конца понять хороший запрос. Так что я решил это, используя «старый добрый» foreach, но я все еще заинтересован в версии LINQ.