Что-то, как это должно быть легко понять любым программистом и имеет O (n) сложность (не LINQ):
double minValue = array[0];
double minDifference = Math.Abs(array[0] - 1);
foreach (double val in array)
{
int dif = Math.Abs(x - 1);
if (dif < minValue)
{
minDifference = dif;
minValue = val;
}
}
После выполнения этого кода minValue
будет иметь требуемое значение.
резюме Код:
Он будет устанавливать минимальное значение в качестве первого элемента массива. Тогда разницей будет абсолютное значение первого элемента минус 1.
Эта петля будет линейно искать массив и находить минимальное значение массива. Если разница меньше минимального значения, она установит новую минимальную разницу и минимальное значение.
Вы хотите номер (1.1) или позицию (2)? –