Ну, вы всегда можете сделать
long PhoneNumber = Int32.Parse("89-5871-2551".
Replace(new char[]{'-','+',whatever..}).Trim());
Кстати, учитывая, что вы анализируете строку, полученную от некоторого IO
, я бы предложил использовать более безопасный (с точки зрения преобразования) Int32.TryParse метод.
Способ, подобный описанному вами , на самом деле не существует.