У меня есть объект, который выглядит следующим образом:Сравнить два ИНТ список
public class TestObject {
private string name = string.Empty;
private List<int> ids;
public TestObject(List<int> ids, string name)
{
this.ids = ids;
this.name = name;
}
public string Name
{
get { return name; }
set { name = value; }
}
public List<int> Ids
{
get { return ids; }
set { ids = value; }
}
}
я получаю список этих объектов, который выглядит примерно так:
List<TestObject> listTest = new List<TestObject>();
listTest.Add(new TestObject((new int[] { 0, 1, 5 }).ToList(), "Test1"));
listTest.Add(new TestObject((new int[] { 10, 35, 15 }).ToList(), "Test2"));
listTest.Add(new TestObject((new int[] { 55 }).ToList(), "Test3"));
listTest.Add(new TestObject((new int[] { 44 }).ToList(), "Test4"));
listTest.Add(new TestObject((new int[] { 7, 17 }).ToList(), "Test5"));
Тогда у меня есть несколько списков целые числа, как так:
List<int> list1 = new List<int>();
list1.Add(0);
list1.Add(1);
list1.Add(5);
List<int> list2 = new List<int>();
list2.Add(4);
List<int> list3 = new List<int>();
list3.Add(7);
List<int> list4 = new List<int>();
list4.Add(55);
То, что я хотел бы сделать это, чтобы быть в состоянии проверить эти целые списки со списком TestObject и е xtract TestObjects, которые равны. Другими словами, в этом примере list1 найдет попадание в объект в позиции 0, list4 найдет хит в позиции 2, нет никакого удара для list3, поскольку в позиции 4 есть только частичное, и нет никакого списка для списка2 так как его не существует.
Сначала я подумал, что это можно сделать с помощью «За исключением». Итак, если между спискомN и listTest нет ничего, кроме n, то это хит? Дело в том, как сравнить listN со списком в объекте в позиции N в listTest ??
Как об использовании оператор равенства класса списка для проверки равенства? – clearwater
@Clearwater: Это проверяет на * ссылочное равенство *, а не * значение равенства *. –
Спасибо, ребята. Да, я уже пробовал это, и Эрик прав. Он не работает, поскольку он проверяет только на ссылочное равенство. SequenceEqual тоже не работал. –