Как сравнить два List? - C#
Формулировка задачи:
Есть класс
Есть два list
Как сравнить эти два list? чтобы например в list3 были те элементы которые есть в первом и нет во втором? Сравнивать надо по полю vopros.
public class DB
{
public string vopros { get; set; }
public string otvet { get; set; }
public string url { get; set; }
}List<DB> list1 = new List<DB>(); List<DB> list2 = new List<DB>();
Решение задачи: «Как сравнить два 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();
}
}
}