string DecodeString (string val)
{
val = val.Trim (' ', '\t');
if (val.Length == 0)
return val;
if (val [0] == '\"')
val = val.Substring (1, val.Length - 2);
if (val [0] == '@') {
StringBuilder sb = new StringBuilder (val.Length);
for (int n = 1; n < val.Length; n++) {
char c = val [n];
if (c == '\\') {
c = val [++n];
if (c == 'r') c = '\r';
else if (c == 'n') c = '\n';
else if (c == 't') c = '\t';
}
sb.Append (c);
}
return sb.ToString ();
}
else
return val;
}