Хотя я не совсем уверен, как работает механизм регулярных выражений .Net в отношении простых регулярных выражений, подобных этому, - как известно из курсов CS, Finite Automaton может распознавать обычные языки в линейном времени.Чтобы определить, является ли строка числом, вам необходимо в любом случае посетить каждый символ строки, поэтому теоретически это не должно иметь большого значения.
Однако, как указано в одном из других ответов, это может бытьвероятно, что что-то вроде Int32.TryParse более оптимизировано для этого (каким-то странным образом) и, как таковое, может быть немного быстрее.
Но скомпилированное регулярное выражение действительно должно подойти любому среднему пользователю, если только реализациядвижка регулярных выражений абсолютно ужасно.Конечно, это предполагает, что ваше регулярное выражение на самом деле распознает обычный язык (т. Е. Смотреть вперед и смотреть за спиной - это ненулевое значение, и ваше регулярное выражение не может вызвать какой-либо вид обратного отслеживания) - что проверяет целое число.
Однако, как указано, обратите внимание, что я не проводил никаких тестов по этому вопросу, поэтому у меня нет реальных данных, подтверждающих эти утверждения.