Сравните, если две последовательности равны
Прежде чем пометить это как дубликат из-за его названия, рассмотрите следующую короткую программу:
static void Main()
{
var expected = new List<long[]> { new[] { Convert.ToInt64(1), Convert.ToInt64(999999) } };
var actual = DoSomething();
if (!actual.SequenceEqual(expected)) throw new Exception();
}
static IEnumerable<long[]> DoSomething()
{
yield return new[] { Convert.ToInt64(1), Convert.ToInt64(999999) };
}
У меня есть метод, который возвращает последовательность массивов типа long. Чтобы проверить это, я написал несколько тестовых кодов, похожих на этот, внутриMain
.
Однако я получаю исключение, но я не знаю почему. Разве ожидаемая последовательность не должна быть сравнима с фактически возвращенной или я что-то пропустил?
Для меня это выглядит как метод иepxected
содержит ровно один элемент, содержащий массив типа long, не так ли?
РЕДАКТИРОВАТЬ: Итак, как мне добиться, чтобы не получить значение исключения для сравнения элементов в перечислении, чтобы вернуть равенство?