internal static void WriteQuotedCSharpString(IndentedWriter writer, string value) {
if (value == null) {
writer.Write("null");
return;
}
writer.Write("@\"");
foreach (char ch in value) {
if (ch < 32) {
if (ch == '\r')
writer.Write("\\r");
else if (ch == '\n')
writer.Write("\\n");
else if (ch == '\t')
writer.Write("\\t");
else {
byte b = (byte)ch;
writer.Write("\\x");
writer.Write(hexDigits[b >> 4]);
writer.Write(hexDigits[b & 0xF]);
}
}
else if (ch == '\"') {
writer.Write("\"\"");
}
else {
writer.Write(ch);
}
}
writer.Write("\"");
}