C#检查一个数组是否包含另一个数组

示例

public static class ArrayHelpers

{

    public static bool Contains<T>(this T[] array, T[] candidate)

    {

        if (IsEmptyLocate(array, candidate))

            return false;

        if (candidate.Length > array.Length)

            return false;

        for (int a = 0; a <=array.Length- candidate.Length; a++)

        {

            if (array[a].Equals(candidate[0]))

            {

                int i = 0;

                for (; i < candidate.Length; i++)

                {

                    if (false == array[a + i].Equals(candidate[i]))

                        break;

                }

                if (i == candidate.Length)

                    return true;

            }

        }

        return false;

    }

    static bool IsEmptyLocate<T>(T[] array, T[] candidate)

    {

        return array == null

            || candidate == null

            ||array.Length== 0

            ||candidate.Length== 0

            ||candidate.Length> array.Length;

    }

}

///样本

byte[] EndOfStream = Encoding.ASCII.GetBytes("---3141592---");

byte[] FakeReceivedFromStream = Encoding.ASCII.GetBytes("Hello, world!!!---3141592---");

if (FakeReceivedFromStream.Contains(EndOfStream))

{

    Console.WriteLine("Message received");

}

           

以上是 C#检查一个数组是否包含另一个数组 的全部内容, 来源链接: utcz.com/z/350090.html

回到顶部