Try sorting them by the absolute value of the difference between the number and 21 and then take the first item:

```
float closest = MyStuff
.Select (n => new { n, distance = Math.Abs (n - 21) })
.OrderBy (p => p.distance)
.First().n;
```

Or shorten it according to @Yuriy Faktorovich’s comment:

```
float closest = MyStuff
.OrderBy(n => Math.Abs(n - 21))
.First();
```