Ich würde das auch per Regex machen.
Ist weniger Code und, wenn man Regex schon beherrscht, auch schneller geschrieben
@Yuuri: Die Schleife wird nicht mehr benötigt, weil die Replace-Methode direkt das Ergebnis zurück gibt.
Unabhängig davon ob man in diesem Fall nun Regex oder eine Schleife bevorzugt:
Stimmt schon, dass Regex am Anfang relativ schwer sein können.
Man kann sie aber immer wieder gebrauchen. Daher denke ich, dass sich der Aufwand lohnt sich mit ihnen zu beschäftigen.
Ist weniger Code und, wenn man Regex schon beherrscht, auch schneller geschrieben

Code:
string input = "a123b";
string output = Regex.Replace(input, @"\D", string.Empty);
int result = int.Parse(output);
@Yuuri: Die Schleife wird nicht mehr benötigt, weil die Replace-Methode direkt das Ergebnis zurück gibt.
Unabhängig davon ob man in diesem Fall nun Regex oder eine Schleife bevorzugt:
Stimmt schon, dass Regex am Anfang relativ schwer sein können.
Man kann sie aber immer wieder gebrauchen. Daher denke ich, dass sich der Aufwand lohnt sich mit ihnen zu beschäftigen.