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