Во-первых, когда пользователь вводит числа в текстовое поле, эти числа могут быть не отсортированы, поэтому сначала нужно отсортировать массив, поскольку алгоритм бинарного поиска работает с отсортированными последовательностями.
1- Splitt the string with ',' and store in the int[] array.
string[] strArray = textBox1.Text.split(new string[]{","}, StringSplitOptions.RemoveEmptyEntries);
List<int> lstInts = new List<int>();
foreach(string str in strArray)
{
int j;
int k=0;
if(int.TryParse(str,out j))
{
lstInts.Add(j);
}
}
int[] bsArray = lstInts.ToArray();
2- Now Sort the Array.
Array.Sort(bsArray);
3- Now use Array.Binaryearch() , if you wanna use framework implementation which is optimized also
Array.BinarySearch(bsArray, valueToBeSearched)
if you don't wanna use Framework implementation than follow below algorithm
public int DoBinarySearchNoNRecursively(int[] array, int value)
{
int high = array.Length - 1;
int low = 0;
while (low < high)
{
int mid = low + (high - low) / 2;
if (value == array[mid])
return mid;
else if (value > array[mid])
low = mid + 1;
else if (value < array[mid])
high = mid;
}
return -1;
}