System.Xml.BufferBuilder.BufferBuilder.SetLength C# (CSharp) Méthode

SetLength() private méthode

private SetLength ( int newLength ) : void
newLength int
Résultat void
        private void SetLength( int newLength ) {
            Debug.Assert( newLength <= length );
            
            if ( newLength == length ) {
                return;
            }

            if ( length <= MaxStringBuilderLength ) {
                stringBuilder.Length = newLength;
            }
            else {
                int newLastIndex = newLength;
                int i;
                for ( i = 0; i < buffersCount; i++ ) {
                    if ( newLastIndex < buffers[i].buffer.Length ) {
                        break;
                    }
                    newLastIndex -= buffers[i].buffer.Length;
                }
                if ( i < buffersCount ) {
                    lastBuffer = buffers[i].buffer;
                    lastBufferIndex = newLastIndex;
                    i++;
                    int newBuffersCount = i;
                    for ( ; i < buffersCount; i++ ) {
                        Recycle( buffers[i] );
                    }
                    buffersCount = newBuffersCount;
                }
            }
            length = newLength;
        }