Просто немного потренируюсь на linq, и я делаю обычные удаления элементов, которые дублируются только один раз, поэтому в приведенном ниже примере у меня есть.
Word1 Word2 Word1
Должно быть напечатано только out word 2 Вот https://dotnetfiddle.net/P47DGT - это их простой способ сделать это лучше с помощью lambada.
class Words {
public string MyWords { get; set; }
}
public class Program
{
public static void Main()
{
List<Words> _words = new List<Words>();
_words.Add(new Words() { MyWords = "word1" });
_words.Add(new Words() { MyWords = "word2" });
_words.Add(new Words() { MyWords = "word1" });
RemoveDuplicatesLinq(_words);
}
static void RemoveDuplicatesLinq(List<Words> _words) {
List<Words> duplicatesRemoved = new List<Words>();
duplicatesRemoved = _words.GroupBy(x => x)
.Where(group => group.Count() > 1)
.Select(group => group.Key).ToList();
foreach (var item in duplicatesRemoved) {
Console.Write("Words Left " + item.MyWords + "\r\n");
}
}
}
Он должен просто напечатать мне одно вхождение Word2, но это не