using BS.Shared.Core;

namespace BS.Shared.Extensions
{
    public static class ByteArrayExtensions
    {
        public static bool Differs(this byte[] pMe, byte[] pByteArray)
        {
            if (Utils.AreAllNull(pMe, pByteArray))
            {
                return false;
            }

            if (Utils.IsAnyNull(pMe, pByteArray))
            {
                return true;
            }

            if (pMe.Length != pByteArray.Length)
            {
                return true;
            }

            for (int i = 0; i < pMe.Length; i++)
            {
                if (pMe[i] != pByteArray[i])
                {
                    return true;
                }
            }

            return false;
        }
    }
}