protected QuoteSnippetString ( string value ) : string | ||
value | string | |
Результат | string |
protected override string QuoteSnippetString(string value)
{
if (value.Length == 0)
{
return "\"\"";
}
StringBuilder sb = new StringBuilder(value.Length + 10);
bool extended = false;
sb.Append("\"");
foreach (Char ch in value)
{
switch (ch)
{
case (Char)0:
sb.Append(@"\0");
extended = true;
break;
case '\a':
sb.Append(@"\a");
extended = true;
break;
case '\b':
sb.Append(@"\b");
extended = true;
break;
case '\f':
sb.Append(@"\f");
extended = true;
break;
case '\n':
sb.Append(@"\n");
extended = true;
break;
case '\r':
sb.Append(@"\r");
extended = true;
break;
case '\t':
sb.Append(@"\t");
extended = true;
break;
case '\v':
sb.Append(@"\v");
extended = true;
break;
case '\\':
sb.Append(@"\\");
extended = true;
break;
case '\"':
sb.Append("\\\"");
extended = true;
break;
default:
if (ch < 32)
{
// Hexa code
sb.Append(String.Format("\\x{0:x4}", (int)ch));
extended = true;
}
else
{
sb.Append(ch);
}
break;
}
}
sb.Append('"');
string result;
result = sb.ToString();
if (extended)
{
result = "e" + result;
}
return result;
}