gpt4 book ai didi

c# - 为什么这个 byte[] 不等于我的另一个具有相同值的 byte[]?

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:48 24 4
gpt4 key购买 nike

public static readonly byte[] TestArray=
new byte[] { 0x75, 0xa5, 0x15, 0x19, 0xa0, 0x2e, 0xd9, 0x37, 0xb0, 0x4d };

public bool TestFunction()
{
MemoryStream s=new MemoryStream(
new byte[] { 0x75, 0xa5, 0x15, 0x19, 0xa0, 0x2e, 0xd9, 0x37, 0xb0, 0x4d }
);

byte[] test=s.ToArray();
return (test==TestArray);
}

我正在使用上面的简单代码。数组中的字节值相等。但是我的 TestFunction() 总是返回 false。到底是怎么回事?

最佳答案

因为数组是 .Net 中的引用类型,而对于数组,== 运算符只是检查它们是否是对内存中同一对象的引用。你需要SequenceEqual用它来比较每个字节:

test.SequenceEqual(TestArray);

关于c# - 为什么这个 byte[] 不等于我的另一个具有相同值的 byte[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16223840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com