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.

Podobne wpisy:

3 komentarze jak dotąd

  1. Egon_Freeman 3 stycznia 2007 15:47

    Value.Replace(„%s”, „(.+?)”); <– co to zwraca? xD [raczej: gdzie sie to zwraca? XD]

  2. ikari 3 stycznia 2007 16:23

    Brawo, zwracało stringa xD

  3. mkl 4 stycznia 2007 09:54

    cos w stylu zagubionej w czasoprzestrzeni zmiennej na wklejkach ;p

Zostaw komentarz

Proszę być grzecznym i mówić na temat :). Twój adres e-mail nie zostanie opublikowany.

XHTML: Możesz używać następujących tagów XHTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>