System.Xml.XmlCharCheckingWriter.InterleaveInvalidChars C# (CSharp) Méthode

InterleaveInvalidChars() private méthode

private InterleaveInvalidChars ( string text, char invChar1, char invChar2 ) : string
text string
invChar1 char
invChar2 char
Résultat string
        private string InterleaveInvalidChars( string text, char invChar1, char invChar2 ) {
            StringBuilder sb = null;
            int start = 0;
            int i;
            for ( i = 0; i < text.Length; i++ ) {
                if ( text[i] != invChar2 ) {
                    continue;
                }
                if ( i > 0 && text[i-1] == invChar1 ) {
                    if ( sb == null ) {
                        sb = new StringBuilder( text.Length + 5 );
                    }
                    sb.Append( text, start, i - start );
                    sb.Append( ' ' );
                    start = i;
                }
            }
            
            // check last char & return
            if ( sb == null ) {
                return ( i == 0 || text[i-1] != invChar1 ) ? text : ( text + ' ' );
            }
            else {
                sb.Append( text, start, i - start );
                if ( i > 0 && text[i-1] == invChar1 ) {
                    sb.Append( ' ' );
                }
                return sb.ToString();
            }
        }
    }