Exemplo n.º 1
0
        /// <summary>
        /// 字节数组比较
        /// </summary>
        /// <param name="left"></param>
        /// <param name="right"></param>
        /// <returns>是否相等</returns>
        public static bool equal(this SubArray <byte> left, ref SubArray <byte> right)
        {
            switch (left.ReferenceEqual(ref right))
            {
            case NullableBool.False: return(false);

            case NullableBool.True: return(true);

            default:
                fixed(byte *leftFixed = left.GetFixedBuffer(), rightFixed = right.GetFixedBuffer())
                {
                    return(EqualNotNull(leftFixed + left.Start, rightFixed + right.Start, left.Length));
                }
            }
        }