标志着这是因为重复的标题,请考虑以下短节目之前:如果比较两个序列相等
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) };
}
我有一个返回类型为长的阵列序列的方法。为了测试它,我在Main
内写了一些类似的测试代码。
但是我得到的例外,但我不知道为什么。不应该预期的顺序与实际返回的顺序相比,还是我错过了任何东西?
对我来说,它看起来既是方法和epxected
只包含一个单元素包含long类型的数组,不是吗?
编辑:那么我如何实现不具有异常含义来比较枚举中的元素返回平等?
什么是例外? – Magnus
我扔的那个? – HimBromBeere
序列中的元素是'long []'。比较将是数组引用,它确实是不同的。数组中的元素(在序列中)将不会被比较。 –