DynamicRest.JsonWriter.EscapeString C# (CSharp) Méthode

EscapeString() static private méthode

static private EscapeString ( string s ) : string
s string
Résultat string
        internal static string EscapeString(string s)
        {
            if (String.IsNullOrEmpty(s)) {
                return String.Empty;
            }

            StringBuilder b = null;
            int startIndex = 0;
            int count = 0;
            for (int i = 0; i < s.Length; i++) {
                char c = s[i];

                // Append the unhandled characters (that do not require special treament)
                // to the string builder when special characters are detected.
                if (c == '\n' || c == '\t' || c == '\"' ||
                    c == '\\' || c == '\r' || c < ' ' || c > 0x7F) {
                    if (b == null) {
                        b = new StringBuilder(s.Length + 6);
                    }

                    if (count > 0) {
                        b.Append(s, startIndex, count);
                    }

                    startIndex = i + 1;
                    count = 0;
                }

                switch (c) {
                    case '\r':
                        b.Append("\\r");
                        break;
                    case '\t':
                        b.Append("\\t");
                        break;
                    case '\"':
                        b.Append("\\\"");
                        break;
                    case '\\':
                        b.Append("\\\\");
                        break;
                    case '\n':
                        b.Append("\\n");
                        break;
                    default:
                        if ((c < ' ') || (c > 0x7F)) {
                            b.AppendFormat(CultureInfo.InvariantCulture, "\\u{0:x4}", (int)c);
                        }
                        else {
                            count++;
                        }
                        break;
                }
            }

            string processedString = s;
            if (b != null) {
                if (count > 0) {
                    b.Append(s, startIndex, count);
                }
                processedString = b.ToString();
            }

            return processedString;
        }