Checking if one array contains another array C# with Example



Checking if one array contains another array C# with Example

public static class ArrayHelpers 
{ 
public static bool Contains(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[] array, T[] candidate) 
{ 
return array == null 
|| candidate == null 
|| array.Length == 0 
|| candidate.Length == 0 
|| candidate.Length > array.Length; 
} 
} 
/// Sample 
byte[] EndOfStream = Encoding.ASCII.GetBytes("---3141592---"); 
byte[] FakeReceivedFromStream = Encoding.ASCII.GetBytes("Hello, world!!!---3141592---"); 
if (FakeReceivedFromStream.Contains(EndOfStream)) 
{ 
Console.WriteLine("Message received"); 
} 
 

rotation of an array 
In my path to studying programming there have been simple, but interesting problems to solve as exercises. One of 
those problems was to rotate an array(or another collection) by a certain value. Here I will share with you a simple 
formula to do it. 

0 Comment's

Comment Form

Submit Comment