I am trying to figure out the best way to find the closest value, ROUNDED DOWN, in a List of integers using any n that is between two other numbers that are stored in a List. The all integers in this situation will ALWAYS be unsigned, in case that helps.

The assumptions are as follows:

* The List *always* starts at 0
* The List is *always* sorted ASC
* All integers in the List are unsigned (no need for `Math.Abs`)
* The number for comparison is always unsigned

For example:

```
List<int> numbers = new List<int>() { 0, 2000, 4000, 8000, 8500, 9101, 10010 };
int myNumber = 9000;
int theAnswer; // should be 8500

for (int i = 0; i < numbers.Count; i++) {
    if (i == numbers.Count - 1) {
      theAnswer = numbers[i];
      break;
    } else if (myNumber < numbers[i + 1]) {
      theAnswer = numbers[i];
      break;
    }
}

```

The previous code example works without any flaws.

Is there a better more succint way to do it?