2009-01-22 112 views
1

想象一下,使用xml,用户能够以灵活的方式指定范围,使用“gte”,“gt”,“lte”,“lt”或“eq” 。范围集合

下面是一些例子

<rangeElement gte="0" lt="5" ... /> 
<rangeElement gt="3" lte="7" ... /> 
<rangeElement eq="5" ... /> 
<rangeElement gt="10.5" ... /> 

现在我需要的是两个类,范围和RangeCollection,能够处理这些。

Range类可能是这个样子:

public class Range 
{ 
    public LowerBoundInclusive { get; set; } 
    public LowerBoundExclusive { get; set; } 
    public UpperBoundInclusive { get; set; } 
    public UpperBoundExclusive { get; set; } 
    public object Data { get; set; } 

    public Range(XElement xmlElement) 
    { 
     .... 
    } 
} 

的RangeCollection类应该有排序的范围,检测重叠并返回给定值的相应范围的一些基本方法。

我已经玩过这个游戏,但事情很快就变得非常复杂。有没有其他人看过这个实现,还是想给它一个镜头?

顺便说一句。我知道有类似的线程可以解决范围问题,但它们没有充分处理“小于或等于”和“小于”之间的差异。

+0

你的例子没有显示出来。请查阅? – abelenky 2009-01-22 01:19:28

+0

什么值应该给你的例子xx> = 0 && xx <5这是准确的吗?那么xx是什么?你在寻找收藏中的第一场比赛吗? – JoshBerke 2009-01-22 01:22:18

回答