public static void Main()
int[] breakpoint = new int[] {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100,
110, 120, 130, 140, 150, 160, 170, 180, 190, 200};
foreach(int valueSearched in new[]{153, 225, -1, 5})
int index = GetNearestIndex(breakpoint, valueSearched);
Console.WriteLine($"Searched <{valueSearched}> at index <{index}> with value <{breakpoint[index]}>");
public static int GetNearestIndex<T>(T[] items, T value)
int index = Array.BinarySearch(items, value);