Beispiel #1
0
 public override SequenceRangeCollection MergeWith(SequenceRange newRange)
 {
     if (newRange.Lower == (this.range.Upper + 1L))
     {
         return(new SequenceRangeCollection.SingleItemRangeCollection(this.range.Lower, newRange.Upper));
     }
     if (this.range.Contains(newRange))
     {
         return(this);
     }
     if (newRange.Contains(this.range))
     {
         return(new SequenceRangeCollection.SingleItemRangeCollection(newRange));
     }
     if (newRange.Upper == (this.range.Lower - 1L))
     {
         return(new SequenceRangeCollection.SingleItemRangeCollection(newRange.Lower, this.range.Upper));
     }
     SequenceRange[] sortedRanges = new SequenceRange[] { this.range };
     return(SequenceRangeCollection.GeneralMerge(sortedRanges, newRange));
 }
 public override SequenceRangeCollection MergeWith(SequenceRange newRange)
 {
     if (newRange.Lower == this.range.Upper + 1)
     {
         return(new SingleItemRangeCollection(range.Lower, newRange.Upper));
     }
     else if (this.range.Contains(newRange))
     {
         return(this);
     }
     else if (newRange.Contains(this.range))
     {
         return(new SingleItemRangeCollection(newRange));
     }
     else if (newRange.Upper == this.range.Lower - 1)
     {
         return(new SingleItemRangeCollection(newRange.Lower, this.range.Upper));
     }
     else
     {
         return(GeneralMerge(new SequenceRange[] { this.range }, newRange));
     }
 }
 public override bool Contains(long number) => _range.Contains(number);