System.Runtime.Serialization.Json.JsonWriter.EscapeStringLiteral C# (CSharp) Method

EscapeStringLiteral() static private method

static private EscapeStringLiteral ( string input ) : string
input string
return string
		static string EscapeStringLiteral (string input)
		{
			StringBuilder sb = null;
			int i = 0, start = 0;
			for (; i < input.Length; i++) {
				switch (input [i]) {
				case '"':
					AppendBuffer (ref sb, input, start, i, @"\""");
					break;
				case '\\':
					AppendBuffer (ref sb, input, start, i, @"\\");
					break;
				case '/':
					AppendBuffer (ref sb, input, start, i, @"\/");
					break;
				case '\x8':
					AppendBuffer (ref sb, input, start, i, @"\b");
					break;
				case '\f':
					AppendBuffer (ref sb, input, start, i, @"\f");
					break;
				case '\n':
					AppendBuffer (ref sb, input, start, i, /*@"\n"*/@"\u000a");
					break;
				case '\r':
					AppendBuffer (ref sb, input, start, i, /*@"\r"*/@"\u000d");
					break;
				case '\t':
					AppendBuffer (ref sb, input, start, i, /*@"\t"*/@"\u0009");
					break;
				default:
					continue;
				}
				start = i + 1;
			}
			string remaining = input.Substring (start, i - start);
			if (sb != null)
				return sb.Append (remaining).ToString ();
			else
				return remaining;
		}