我认为下面的代码是很好的。但是我怎样才能在LINQ中编写它?我如何比较linq中的Employee类型对象?LINQ中的EqualityComparer - 我该怎么办?
namespace GenericReplacement
{
class Program
{
static void Main(string[] args)
{
EmployeeComparer employeeComparer = new EmployeeComparer();
Employee employee1 = new Employee() { ID = 1, Name = "yusuf", SurName = "karatoprak" };
Employee employee2 = new Employee() { ID = 2, Name = "Ali", SurName = "Yılmaz" };
bool returnValue = employeeComparer.Equals(employee1, employee2);
int returnValueHashCode = employeeComparer.GetHashCode(employee1);
Console.WriteLine("Result: "+returnValue.ToString()+"\n");
Console.WriteLine(returnValueHashCode.ToString());
Console.ReadKey();
}
}
public class EmployeeComparer: EqualityComparer<Employee>
{
public override bool Equals(Employee x, Employee y)
{
return EqualityComparer<Employee>.Default.Equals(x, y);
}
public override int GetHashCode(Employee obj)
{
return EqualityComparer<Employee>.Default.GetHashCode(obj);
}
}
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public string SurName { get; set; }
}
}
写什么在LINQ?您编写的代码不需要在LINQ中重写。 – 2010-08-08 09:53:58
如何比较linq中的员工类型对象? – Penguen 2010-08-08 09:57:51
为什么?你想达到什么目的??顾名思义,LINQ是关于**查询**(LINQ = Language Integrated ** Query **) - 它不是为您的代码中的每个操作设计的。我没有看到“在LINQ中”(或更好的:使用LINQ)写这样的东西的好处。 – 2010-08-08 10:03:57