private static string Escape(string value)
{
// Nothing to do, so bail
if (value.IndexOfAny(_escapeChars) == -1)
{
return value;
}
var sb = new StringBuilder();
// \\ = \
// \| = |
// \, = ,
foreach (var ch in value)
{
switch (ch)
{
case '\\':
sb.Append('\\').Append(ch);
break;
case '|':
sb.Append('\\').Append(ch);
break;
case ',':
sb.Append('\\').Append(ch);
break;
default:
sb.Append(ch);
break;
}
}
return sb.ToString();
}