public static void Main()
Console.WriteLine(BinarySearch(new int[]{1, 2, 3, 4, 5, 6}, 4));
public static int BinarySearch(int[] array, int value)
var upperBound = array.Length;
while (lowerBound <= upperBound)
var midPoint = (lowerBound + upperBound) / 2;
if (array[midPoint] > value)
upperBound = midPoint - 1;
else if (array[midPoint] < value)
lowerBound = midPoint + 1;