using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
List<double> myDataList = new List<double> {1, 3, 14, 15, 22};
double position = 2.2;
var res = myDataList
.Select((v, i) => new {Position = v, Index = i}) // Pair up the position and the index
.OrderBy(p => Math.Abs(p.Position - position)) // Order by the distance
.First().Index;
Console.WriteLine(res);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgTGlzdDxkb3VibGU+IG15RGF0YUxpc3QgPSBuZXcgTGlzdDxkb3VibGU+IHsxLCAzLCAxNCwgMTUsIDIyfTsKICAgICAgICBkb3VibGUgcG9zaXRpb24gPSAyLjI7CiAgICAgICAgdmFyIHJlcyA9IG15RGF0YUxpc3QKICAgICAgICAgICAgLlNlbGVjdCgodiwgaSkgPT4gbmV3IHtQb3NpdGlvbiA9IHYsIEluZGV4ID0gaX0pIC8vIFBhaXIgdXAgdGhlIHBvc2l0aW9uIGFuZCB0aGUgaW5kZXgKICAgICAgICAgICAgLk9yZGVyQnkocCA9PiBNYXRoLkFicyhwLlBvc2l0aW9uIC0gcG9zaXRpb24pKSAgICAgICAgICAgIC8vIE9yZGVyIGJ5IHRoZSBkaXN0YW5jZQogICAgICAgICAgICAuRmlyc3QoKS5JbmRleDsgIAogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHJlcyk7Cgl9Cn0=