Исключение одного списка из другого - как получить разность множеств? - C#

Узнай цену своей работы

Формулировка задачи:

Уважаемые специалисты, вот простенький пример (компилируется). В нем из множества people исключается список mens, должен получиться список womens:
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();
        }
    }
}
Но этого не происходит, коллекции не сравниваются. Строковые элементы по такой технике определяются корректно, а вот более сложные (List, XElement) - не могу разобрать. В чем тут дело?

Решение задачи: «Исключение одного списка из другого - как получить разность множеств?»

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; }
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы