System.Xml.XmlConvert.EscapeValueForDebuggerDisplay C# (CSharp) Méthode

EscapeValueForDebuggerDisplay() static private méthode

static private EscapeValueForDebuggerDisplay ( string value ) : string
value string
Résultat string
        internal static string EscapeValueForDebuggerDisplay(string value)
        {
            StringBuilder sb = null;
            int i = 0;
            int start = 0;
            while (i < value.Length)
            {
                char ch = value[i];
                if ((int)ch < 0x20 || ch == '"')
                {
                    if (sb == null)
                    {
                        sb = new StringBuilder(value.Length + 4);
                    }
                    if (i - start > 0)
                    {
                        sb.Append(value, start, i - start);
                    }
                    start = i + 1;
                    switch (ch)
                    {
                        case '"':
                            sb.Append("\\\"");
                            break;
                        case '\r':
                            sb.Append("\\r");
                            break;
                        case '\n':
                            sb.Append("\\n");
                            break;
                        case '\t':
                            sb.Append("\\t");
                            break;
                        default:
                            sb.Append(ch);
                            break;
                    }
                }
                i++;
            }
            if (sb == null)
            {
                return value;
            }
            if (i - start > 0)
            {
                sb.Append(value, start, i - start);
            }
            return sb.ToString();
        }

Usage Example

Exemple #1
0
        public override string ToString()
        {
            XmlNodeType nodeType = this.node.NodeType;
            string      str      = nodeType.ToString();

            switch (nodeType)
            {
            case XmlNodeType.Element:
            case XmlNodeType.EntityReference:
                return(str + ", Name=\"" + this.node.Name + "\"");

            case XmlNodeType.Attribute:
            case XmlNodeType.ProcessingInstruction:
            {
                string str2 = str;
                return(str2 + ", Name=\"" + this.node.Name + "\", Value=\"" + XmlConvert.EscapeValueForDebuggerDisplay(this.node.Value) + "\"");
            }

            case XmlNodeType.Text:
            case XmlNodeType.CDATA:
            case XmlNodeType.Comment:
            case XmlNodeType.Whitespace:
            case XmlNodeType.SignificantWhitespace:
            case XmlNodeType.XmlDeclaration:
                return(str + ", Value=\"" + XmlConvert.EscapeValueForDebuggerDisplay(this.node.Value) + "\"");

            case XmlNodeType.Entity:
            case XmlNodeType.Document:
            case XmlNodeType.DocumentFragment:
            case XmlNodeType.Notation:
            case XmlNodeType.EndElement:
            case XmlNodeType.EndEntity:
                return(str);

            case XmlNodeType.DocumentType:
            {
                XmlDocumentType node = (XmlDocumentType)this.node;
                string          str3 = str;
                return(str3 + ", Name=\"" + node.Name + "\", SYSTEM=\"" + node.SystemId + "\", PUBLIC=\"" + node.PublicId + "\", Value=\"" + XmlConvert.EscapeValueForDebuggerDisplay(node.InternalSubset) + "\"");
            }
            }
            return(str);
        }