gpt4 book ai didi

c# - 检查字节是否为 0x00

转载 作者:太空狗 更新时间:2023-10-29 22:07:22 26 4
gpt4 key购买 nike

编写此方法最可读(和惯用)的是什么?

private bool BytesAreValid(byte[] bytes) {
var t = (bytes[0] | bytes[1] | bytes[2]);
return t != 0;
}

我需要一个函数来测试不是以 00 00 00 开头的文件的前三个字节。

没做过多少字节操作。上面的代码对我来说似乎不正确,因为 tInt32 类型的推断。

最佳答案

t is type-inferred to be an Int32

是的,因为 | 运算符(像大多数运算符一样)没有为 byte 定义 - 字节被提升为 int 值。 (有关详细信息,请参阅 C# 4 规范的第 7.11.1 节。)

但如果您只想将它​​与 0 进行比较,那也没关系。

我个人会这样写:

return bytes[0] != 0 && bytes[1] != 0 && bytes[2] != 0;

甚至:

return (bytes[0] != 0) && (bytes[1] != 0) && (bytes[2] != 0);

这两个对我来说似乎更清楚。

关于c# - 检查字节是否为 0x00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15144077/

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