Или сгруппировать по нескольким свойствам:

у получить отдельные значения в списке, но не путем сравнения стандартного равенства.

Что я хочу сделать, это что-то вроде этого:

return myList.Distinct( (x, y) => x.Url == y.Url );

Я не могу, в Linq нет метода расширения, который бы это делал - только тот, который принимаетIEqualityComparer.

Я могу взломать это с этим:

return myList.GroupBy( x => x.Url ).Select( g => g.First() );

Но это кажется грязным. Это также не совсем то же самое - я могу использовать это только здесь, потому что у меня есть один ключ.

Я мог бы также добавить свой собственный:

public static IEnumerable<T> Distinct<T>( 
    this IEnumerable<T> input, Func<T,T,bool> compare )
{
    //write my own here
}

Но это похоже на написание чего-то, что должно быть в первую очередь.

Кто-нибудь знает, почему этот метод не существует?

Я что-то пропустил?

Ответы на вопрос(4)

Ваш ответ на вопрос