Как удалить повторяющиеся записи из списка списка - PullRequest
1 голос
/ 18 октября 2019

У меня есть список списка, как показано ниже,

List<List<String>> ListsToMerge

Допустим, у этого списка есть еще 3 внутренних списка.

ListsToMerge [0] = {"Apple", "Grapes", "Banana"}
ListsToMerge [1] = {"Guava", "Apple", "Strawberry"}
ListsToMerge [2] = {"Strawberry", "Almonds", "Peach"}

Мне нужно удалить повторяющиеся записи из приведенного выше списка и создать основной список.

List<string> MergedList

Этот MergedList должен удалять дублирующиеся записи и содержать только

MergedList = {"Apple","Grapes","Banana","Guava","Strawberry","Almonds","Peach"}

Ответы [ 2 ]

3 голосов
/ 18 октября 2019

Попробуйте: без LINQ

List<string> MergedList = new List<string>();
foreach(List<string> ls in ListsToMerge)
{
    foreach(string s in ls)
    {
       if(!MergedList.Contains(s))
       {
           MergedList.Add(s)
       }
    }
}
1 голос
/ 18 октября 2019

Вы можете использовать несколько удобных методов расширения Linq, чтобы выполнить работу. SelectMany сведет списки и выберет все элементы, а Distinct удалит все дубликаты:

List<string> mergedLists = ListsToMerge.SelectMany(x => x).Distinct().ToList();
...