Binary Search is one of the methods of searching an item in a list of items.Here we will look into how to implement binary search in C#.

We first need to calculate the middle element in the list and then compare the element we are searching with this middle element.

To calculate middle element we use the formula:

middle element = highest element + lowest element / 2

After we calculate the middle element we compare the element we are searching for with this element.There can be three conditions:

- if value is equal to the middle element
- if value is less than the middle element
- if value is greater than the middle element

class BinarySearch

{

public static int Find(int[] numList, int val)

{

```
```int low = 0;

int high = numList.Length-1;

int mid = 0;

while (low < =high)

{

Console.WriteLine(string.Format("low=0,high={1}",low,high));

mid = high +low/ 2;

if (val == numList[mid])

{

Console.WriteLine(string.Format("found value"));

return mid;

}

if (val > numList[mid])

{

Console.WriteLine(string.Format("value is less than the middle element"));

low = mid + 1;

Console.WriteLine(string.Format("low=0,high={1},mid={2}", low, high, mid));

}

else

{

Console.WriteLine(string.Format("value is greater than the middle element"));

high = mid - 1;

}

}

return -1;

}

}

public static void Main()

{

var location = BinarySearch.Find(new int[] { 1, 2, 3, 4,5,6,7,8,9 }, 6);

Console.WriteLine(location);

`}`