为什么T
不能成为byte[]
?请参阅以下说明
https://msdn.microsoft.com/de-de/library/ms243446.aspx
byte[] one = { 0x1, 0x2, 0x3, 0x4, 0x5 };
byte[] two = { 0x1, 0x2, 0x3, 0x4, 0x5 };
//don't fail
Assert.AreEqual(Convert.ToBase64String(one), Convert.ToBase64String(two));
//fail
Assert.AreEqual<byte[]>(one, two);
您正在比较一个字节数组与另一个字节数组具有引用相等性(即,两个变量都指向同一数组),在这种情况下,它们没有。
更好的方法是使用SequenceEqual进行测试:
using System.Linq;
Assert.IsTrue(one.SequenceEqual(two));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句