LINQ查询没有给出任何结果(查找数字属于哪个区间)

本文关键字:属于 数字 查找 区间 结果 查询 任何 LINQ | 更新日期: 2023-09-27 18:05:35

我有一个像这样的属性类

ZipStart | ZipEnd | Acode
10000    | 13999  | BEK
14000    | 14999  | ATE

现在,我有一个值,例如11332,我想要查找这个数字属于哪个代码,为此,我有以下代码:

           var res = from o in ListOfDataClass
                  where iCode >= o.ZipStart && o.ZipEnd <= iCode
                  select o;
            var c = res.FirstOrDefault();
            return c.Acode;

然而,这导致null不时,我还没能找到一个模式虽然,但由于问题出现在这个方法中,我已经能够从调试器中扣除,iccode实际上是11332,但linq查询不产生任何结果。

任何想法?

LINQ查询没有给出任何结果(查找数字属于哪个区间)

您的情况不正确。
第二部分必须是o.ZipEnd >= iCodeiCode <= o.ZipEnd

我认为你应该稍微改变一下你的条件:

where iCode >= o.ZipStart && iCode <=  o.ZipEnd