necessário verificar antes de substituir uma string no StringBuilder (usando funções como “Contém” ou “IndexOf”

Existe algum método IndexOf ou Contém em C #. Abaixo está o código:

var sb = new StringBuilder(mystring);
sb.Replace("abc", "a");
string dateFormatString = sb.ToString();

if (sb.ToString().Contains("def"))
{
    sb.Replace("def", "aa");
}


if (sb.ToString().Contains("ghi"))
{
    sb.Replace("ghi", "assd");
}

Como você deve ter notado, estou usando o ToString () acima novamente e novamente, o que eu quero evitar, pois ele está criando uma nova string sempre. Você pode me ajudar, como posso evitá-lo?

questionAnswers(4)

yourAnswerToTheQuestion