public static void Main()
var array = new int[] {1, 3, 5, 7, 9 , 11 , 15, 16};
Console.WriteLine(BinarySearch(array, valueToSearch));
public static bool BinarySearch(int[] array, int valueToSearch)
return BinarySearch(array, valueToSearch, 0, array.Length-1);
public static bool BinarySearch(int[] array, int valueToSearch, int start, int end)
var midIndex = (end + start)/2;
var midValue = array[midIndex];
if(valueToSearch == midValue)
if(valueToSearch < midValue)
return BinarySearch(array, valueToSearch, start, midIndex-1);
return BinarySearch(array, valueToSearch, midIndex+1, end);