У меня есть list<message>
, который содержит свойства типа Guid
и DateTime
(. а также другие свойства ). Я хотел бы избавиться от всех элементов в этом списке, где Guid
и DateTime
одинаковы (, кроме одного ). Будут времена, когда эти два свойства будут такими же, как и другие элементы в списке, но другие свойства будут другими, поэтому я не могу просто использовать.Distinct()
List<Message> messages = GetList();
//The list now contains many objects, it is ordered by the DateTime property
messages = from p in messages.Distinct( what goes here? );
Это то, что у меня есть прямо сейчас, но кажется, что должен быть лучший способ
List<Message> messages = GetList();
for(int i = 0; i < messages.Count() - 1) //use Messages.Count() -1 because the last one has nothing after it to compare to
{
if(messages[i].id == messages[i+1}.id && messages[i].date == message[i+1].date)
{
messages.RemoveAt(i+1);
{
else
{
i++
}
}