Мне нужна помощь со следующим:
У меня есть список, из которого необходимо удалить все дублирующиеся записи, и я не могу получить правильный запрос linq. теперь сам список содержит строку и список строк в качестве параметров.
см. Фрагменты кода:
список создан из этого класса
public class SD
{
public string From { get; set; }
public List<string> To { get; set; }
}
ввод списка может выглядеть следующим образом:
var unsortedList = new List<SD>
{
new SD {From = "a", To = new List<string>{ "b" } },
new SD {From = "b", To = new List<string>{ "a" } },
new SD {From = "a", To = new List<string>{ "b", "c" } },
new SD {From = "a", To = new List<string>{ "b" } },
new SD {From = "a", To = new List<string>{ "c" } },
};
До того, как To в классе был списком и просто строкой, приведенный ниже код работал отлично. Было бы возвращено 4 записи, так как записи 1 и 4 равны (и, конечно, третья запись будет иметь только одну строку).
var sortedList = unsortedList.GroupBy(x => new { x.From, x.To }).Select(group => group.First()).ToList();
Я играл с orderby, group и hashsets, но ни одна из них не кажется на работу.