Spot the bug

// some replace magic.
Value = Regex.Escape(Value);
Value.Replace("%s", "(.+?)");
Value.Replace("%d", "([0-9]+)");
if (Value.Contains("%s"))
{
throw new Exception("Replace fucked up at: " + Key);
}

Result? Unhandled Exception

Czemu o czemu to wywala wyjątek? Jako że zapewne nikt gotów śpieszyć mi z pomocą tutaj nie zajrzy, dodam tylko dla wyjaśnienia, że metoda Replace jest opisana jako: Replaces all occurrences of a specified String in this instance, with another specified String, z akcentem na all, a Contains oczywiście sprawdza, czy string takowy tekst zawiera. No i najwyraźniej mimo, że kazałem mu zamienić wszystkie wystąpienia %s, nadal występuje ono po zamianie! _O_… Czemu?

O… Błąd już znalazłem, jak zwykle kretyński. Szkoda, że takie błędy popełniam całe życie i nie tylko w programowaniu.

Notka o tak, dla rozluźnienia.