0

我正在尝试在 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 语句,用一些按位的巫术魔法......有没有办法做到这一点?

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

我最终希望通过将字符串转换为字节数组和从字节数组转换来使用此代码来比较两个字符串,因此,如果在这方面我应该知道一些事情,那也会有所帮助。

4

1 回答 1

1

等式运算符对位进行操作。
没有可以改进相等运算符的按位巫术魔法。

于 2012-05-13T19:31:05.290 回答