LINQ to find the closest number that is greater / less than an input

后端 未结 8 720
猫巷女王i
猫巷女王i 2021-02-05 19:57

Suppose I have this number list:

List = new List(){3,5,8,11,12,13,14,21}

Suppose that I want to get the closest number th

8条回答
  •  甜味超标
    2021-02-05 20:57

    closest number below 11:

            int someNumber = 11;
            List list = new List { 3, 5, 8, 11, 12, 13, 14, 21 };
    
            var intermediate = from i in list
                         where i < someNumber
                         orderby i descending
                         select i;
    
            var result = intermediate.FirstOrDefault();
    

    closest number above 13:

            int someNumber = 13;
            List list = new List { 3, 5, 8, 11, 12, 13, 14, 21 };
    
            var intermediate = from i in list
                         where i > someNumber
                         orderby i
                         select i;
    
            var result = intermediate.FirstOrDefault();
    

提交回复
热议问题