Исключение одного списка из другого - как получить разность множеств? - C#
Формулировка задачи:
Уважаемые специалисты,
вот простенький пример (компилируется). В нем из множества people исключается список mens, должен получиться список womens:
Но этого не происходит, коллекции не сравниваются.
Строковые элементы по такой технике определяются корректно, а вот более сложные (List, XElement) - не могу разобрать. В чем тут дело?
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication1
{
class Employee
{
string _lastName;
string _firstName;
public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}
public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}
}
class Program
{
static void Main(string[] args)
{
List<Employee> people = new List<Employee> {
new Employee { FirstName = "Lisa", LastName = "Boo"},
new Employee { FirstName = "Grek", LastName = "Too"}
};
List<Employee> mens = new List<Employee> {
new Employee { FirstName = "Grek", LastName = "Too"}
};
var womens = people.Except(mens).ToList();
foreach (var women in womens)
{
Console.WriteLine(women.FirstName + " " + women.LastName);
}
Console.ReadKey();
}
}
}Решение задачи: «Исключение одного списка из другого - как получить разность множеств?»
textual
Листинг программы
struct Employee
{
string _lastName;
string _firstName;
public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}
public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}
}