Beispiel #1
0
 /// <summary>
 /// 获取数组
 /// </summary>
 /// <param name="array"></param>
 internal void GetDescArraySkip(ref PageArray <valueType> array)
 {
     if (Left != null)
     {
         int count = Left.Count;
         if (count > array.SkipCount)
         {
             Left.GetDescArraySkip(ref array);
             if (array.Index != 0 && array.AddDesc(Value) != 0)
             {
                 Right.getDescArray(ref array);
             }
             return;
         }
         array.SkipCount -= count;
     }
     if (array.SkipCount == 0)
     {
         if (array.AddDesc(Value) != 0)
         {
             Right.getDescArray(ref array);
         }
         return;
     }
     --array.SkipCount;
     Right.GetDescArraySkip(ref array);
 }
Beispiel #2
0
 /// <summary>
 /// 获取数组
 /// </summary>
 /// <param name="array"></param>
 private void getDescArray(ref PageArray <valueType> array)
 {
     if (Left != null)
     {
         Left.getDescArray(ref array);
         if (array.Index == 0)
         {
             return;
         }
     }
     if (array.AddDesc(Value) != 0)
     {
         Right.getDescArray(ref array);
     }
 }