Как сравнить два List?
Я бы сделал как-то так:private static void Main()
        {
            var list1 = new List<DB>
            {
                new DB {vopros = "1", url = "11"},
                new DB {vopros = "2", url = "22"},
                new DB {vopros = "3", url = "33"}
            };
            var list2 = new List<DB>
            {
                new DB {vopros = "2", url = "66"},
                new DB {vopros = "3", url = "55"},
                new DB {vopros = "5", url = "44"}
            };

            var except = list1.Except(list2, new DBComparer());
            var except1 = list2.Except(list1, new DBComparer());
        }

        public class DB
        {
            public string vopros { get; set; }
            public string otvet { get; set; }
            public string url { get; set; }
        }

        public class DBComparer : IEqualityComparer<DB>
        {

            public bool Equals(DB x, DB y)
            {
                if (ReferenceEquals(x, y)) return true;
                return x != null && y != null && x.vopros.Equals(y.vopros);
            }

            public int GetHashCode(DB obj)
            {
                return obj.vopros == null ? 0 : obj.vopros.GetHashCode();
            }
        }
Если забыть про производительность то foreach(var item in list1)
{
if(list2.Where(c=>c.vopros == item.vopros).Count()==0)
{
list3.Add(item);
}
}