Исключение одного списка из другого - как получить разность множеств? - 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д