C #: Как использовать перегрузку char для string.Replace (), чтобы заменить ничем? - PullRequest
1 голос
/ 06 июня 2011

У меня есть следующий метод расширения (который недопустим и не компилирует ATM):

    public static string Strip( this string str, char[] charsToStrip )
    {
        foreach( char c in charsToStrip )
        {
            str.Replace( c, "" );
        }

        return str;
    }

Вызов str.Replace () должен вызывать перегрузку char функции Replace (), однакоиспользуя эту перегрузку, я не уверен, что передать во 2-й параметр, чтобы сказать, что он должен заменяться на «ничто».

Цель этой функции - выполнить итерацию каждого символа в переменной charsToStrip и удалить всеэкземпляры этого символа в исходной строке, str.

Также, если моя функция - изобретать колесо, дайте мне знать.Я пользуюсь .NET 3.5

Заранее спасибо.

Ответы [ 2 ]

8 голосов
/ 06 июня 2011

Попробуйте:

str = str.Replace(c.ToString(), String.Empty);

Обратите внимание, что экземпляры string являются неизменными.Таким образом, вам нужно присвоить результат String.Replace, в противном случае результат будет потерян.

2 голосов
/ 06 июня 2011

Пустого символа нет, поэтому используйте перегрузку строки:

str = str.Replace( c.ToString(), "");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...