C# 使用按位运算比较字节

本文关键字:运算 比较 字节 | 更新日期: 2023-09-27 18:33:58

我正在尝试用 C# 编写一个方法,该方法将通过比较数组中的每个字节并返回第二个字节(如果它与第一个字节不同)返回两个字节数组之间的差异。 到目前为止,我有这个:

        byte[] b1 = 111;
        byte[] b2 = 105;
        int j = input.Length;
        byte[] differenceByte = new byte[j];
        int diffIndex = 0;
        for (int i = 0; i < j; i++)
        {
            if (originalByte[i] != comparisonByte[i])
                differenceByte[diffIndex++] = comparisonByte[i];
        }

但我希望找到一种方法,用一些按位巫毒魔法替换将第一个字节与第二个字节进行比较的 if 语句...... 有没有办法做到这一点?

第二个问题是否有其他方法可以优化此代码,使其尽可能快地运行?

最终想使用此代码通过将字符串转换为字节数组来比较两个字符串,因此,如果在这方面我应该了解一些内容,那也会有所帮助。

C# 使用按位运算比较字节

相等运算符对位进行操作。
没有按位巫毒教魔法可以改善相等运算符。