如何解决如何检查值是否在 IList 的范围内
var productCodes = await ProductsService.GetAllProductsAsync();
我的模型:
public int ProductStartCode { get; set; }
public int ProducEndCode { get; set; }
创建新的产品代码范围时,我想检查新代码是否与现有产品代码重叠
我的产品代码如下所示:
ProductStartCode ProductEndCode
100001 100003
100004 100008
100009 100011
我需要检查我想要完成的事情,
For example if I enter: 100001,100002,100003 are overlapping since they in between 100001 & 100002 range,100004,100005,100006,100007,100008 are also overlapping since they in between 100004 & 100008 range,
解决方法
给定一个范围列表,以及一个检查重叠的可能范围,看看可能范围的开始或结束是否在列表中的任何范围之间:
var isOverlapping = productCodes.Any(p => p.ProductStartCode <= possibleStartCode && possibleStartCode <= p.ProductEndCode) ||
productCodes.Any(p => p.ProductStartCode <= possibleEndCode && possibleEndCode <= p.ProductEndCode);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。