Vb.net 检查列表中的重叠数值?
我有一个函数,可以添加一个新的价格规则,每个价格规则有两个范围(a_Low,a_High)(B_Low,B_High)。当功能想要添加一个新的价格时,它需要确保范围不重叠,这样每个输入的a和B值只能匹配1个所述价格规则。A&B可以是正数或负数 逻辑的一个例子: 规则1:A_低=0.0,A_高=1.0;B_低0.0,B_高=0.25 如果我尝试添加以下规则: 情况1:A_低=0.5,A_高=1.5;B_低0.26,B_高=1.0 应允许上述测试用例,这样,如果B没有,A可以重叠,如果A没有,B可以重叠。我有一个问题围绕着正确的逻辑来评估和确定我试图添加的价格规则是否有效。。。我知道有用于检查重叠日期的函数,有用于重叠数字范围的函数吗 我仍然无法找出我的错误,以下是我的示例代码:Vb.net 检查列表中的重叠数值?,vb.net,Vb.net,我有一个函数,可以添加一个新的价格规则,每个价格规则有两个范围(a_Low,a_High)(B_Low,B_High)。当功能想要添加一个新的价格时,它需要确保范围不重叠,这样每个输入的a和B值只能匹配1个所述价格规则。A&B可以是正数或负数 逻辑的一个例子: 规则1:A_低=0.0,A_高=1.0;B_低0.0,B_高=0.25 如果我尝试添加以下规则: 情况1:A_低=0.5,A_高=1.5;B_低0.26,B_高=1.0 应允许上述测试用例,这样,如果B没有,A可以重叠,如果A没有,B可以
For Each p In Rules
If p.A_Max > A_Min And p.A_Min < A_Max Then
If p.B_Max> B_Min And p.B_Min < B_Max Then
Return False
End If
End If
If p.B_Max> B_Min And p.B_Min < B_Max Then
If p.A_Max > A_Min And p.A_Min < A_Max Then
Return False
End If
End If
Next
Return True
规则中每个p的
如果p.A_Max>A_Min且p.A_MinB_Min且p.B_MinB_Min且p.B_MinA_Min且p.A_Min
这里有一些东西可以帮助您:一个。它是用C#编写的,但是编码非常简单,而且很容易理解。它应该相对简单,以适应您的需求。如果存在重叠,则返回true
规则高>案例低和规则低<案例高
您只需要检查A和B,如果两者重叠,则会出现错误
如果您有以下情况,这也会检测重叠:
情况1:A_低=0.5,A_高=0.7;B_Low-1,B_High=2如果你对c#也不熟悉,那么有很多c#到vb.net或反之亦然的代码解析器可以为你转换代码块……一个简单的谷歌搜索应该可以找到很多。