/// <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); }
/// <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); } }