Как сравнить два List? - C#

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

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

Есть класс
public class DB
{
    public string vopros { get; set; }
    public string otvet { get; set; }
    public string url { get; set; }
}
Есть два list
List<DB> list1 = new List<DB>();
List<DB> list2 = new List<DB>();
Как сравнить эти два list? чтобы например в list3 были те элементы которые есть в первом и нет во втором? Сравнивать надо по полю vopros.

Решение задачи: «Как сравнить два List

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace ConsoleApplication8
{
    public class DB
    {
        public string vopros { get; set; }
        public string otvet { get; set; }
        public string url { get; set; }
        public override bool Equals(object obj)
        {
            var objDB = obj as DB;
            if (objDB == null) return false;
 
            return otvet == objDB.otvet && vopros == objDB.vopros && url == objDB.url;
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            var list1 = new List<DB>() { new DB() { otvet = "sdfsdf" } };
            var list2 = new List<DB>() { new DB() { otvet = "sdfsdf" } };
 
            var isNoEquals = list1.Any(x => !list2.Contains(x));
 
            if (!isNoEquals) Console.WriteLine("Списки равны.");
            else Console.WriteLine("Списки не равны.");
            Console.ReadKey();
        }
    }
}

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


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

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

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