Existe uma maneira de tornar o seguinte retorno verdadeiro?
string title = "ASTRINGTOTEST";
title.Contains("string");
Não parece haver uma sobrecarga que permita definir a distinção entre maiúsculas e minúsculas. Atualmente, eu supero os dois, mas isso é simplesmente bobo (pelo qual estou me referindo aos problemas da i18n que vêm com a caixa para cima e para baixo).
ATUALIZAÇÃO
Esta pergunta é antiga e, desde então, percebi que pedi uma resposta simples para um tópico realmente vasto e difícil, se você quiser investigá-lo completamente.
Para a maioria dos casos, em bases de código monolíngües e inglesas, essa resposta será suficiente. Eu suspeito que porque a maioria das pessoas que vem aqui se enquadre nessa categoria, essa é a resposta mais popular.
Essa resposta, no entanto, traz à tona o problema inerente de que não podemos comparar maiúsculas e minúsculas até que saibamos que os dois textos são da mesma cultura e sabemos o que é essa cultura. Talvez essa seja uma resposta menos popular, mas acho que é mais correta e foi por isso que a marquei como tal.
culture.CompareInfo.IndexOf(paragraph, word, CompareOptions.IgnoreCase) >= 0
? Ele usa a cultura certa e não diferencia maiúsculas de minúsculas, não aloca seqüências minúsculas temporárias e evita a questão de se converter para minúsculas e comparar é sempre o mesmo que uma comparação sem distinção entre maiúsculas e minúsculas.