Учитывайте требование убрать недопустимые символы из строки. Символы просто нужно удалить и заменить пустым или string.Empty
.
char[] BAD_CHARS = new char[] { '!', '@', '#', '$', '%', '_' }; //simple example
foreach (char bad in BAD_CHARS)
{
if (someString.Contains(bad))
someString = someString.Replace(bad.ToString(), string.Empty);
}
Мне бы понравилось :
if (BAD_CHARS.Any(bc => someString.Contains(bc)))
someString.Replace(bc,string.Empty); // bc is out of scope
Вопрос: Есть ли у вас какие-либо предложения по реорганизации этого алгоритма или какие-либо более простые, легко читаемые, эффективные, поддерживаемые алгоритмы?