using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<Class1> list = new List<Class1>()
{
new Class1{ Name="a1", Url="http://www.baidu.com"},
new Class1{ Name="a2", Url="http://www.baidu.com"},
new Class1{ Name="a3", Url="http://www.google.com"}
};
// var result = list.Distinct(new Class1Compare()).Take(5).ToList();
var result = list.GroupBy(x => x.Url).Select(x => x.First()).Take(5).ToList();
result.ForEach(x => Console.WriteLine("A:{0},B:{1}",x.Name,x.Url));
Console.ReadKey();
}
}
public class Class1
{
public string Name { get; set; }
public string Url { get; set; }
}
public class Class1Compare : IEqualityComparer<Class1>
{
public bool Equals(Class1 x, Class1 y)
{
return string.Equals(x.Url, y.Url);
}
public int GetHashCode(Class1 obj)
{
if (Object.ReferenceEquals(obj, null)) return 0;
return obj.Url.GetHashCode();
}
}
}