查找值存在于范围列表中

时间:2014-05-16 18:33:52

标签: linq

我有一份年度宿舍的周列表。

示例:

  1. WeekStart = 1,WeekEnd = 13
  2. WeekStart = 14,WeekEnd = 26
  3. WeekStart = 27,Weekend = 40
  4. 如果我将输入的weeknuber作为20传递,它在第2条记录的范围内,则返回true。 如果我将输入的周数记录为45,则返回false,因为它在任何记录中都不存在。

    我如何在LINQ查询中执行此操作。

    请帮忙。

    谢谢, 普拉萨德

1 个答案:

答案 0 :(得分:0)

这可能是你想要的东西。

        public class WeekRange
        {
            public int Start { get; set; }
            public int End { get; set; }
        }

                var data = new List<WeekRange> 
                { 
                    new WeekRange{Start = 1, End = 13},
                    new WeekRange{Start = 14, End = 26},
                    new WeekRange{Start = 27, End = 40}
                };

       var existing = data.Where(w => w.Start <= 20 && w.End >= 20).FirstOrDefault();

      var nonExisting = data.Where(w => w.Start <= 45 && w.End >= 45).FirstOrDefault();