Jak sformatować ciąg znaków jako numer telefonu w C #

Mam ciąg „1112224444”, który jest numerem telefonu. Chcę zapisać format do 111-222-4444, zanim zapiszę go w pliku. Jest on na tablicy danych i wolałbym móc to zrobić bez przypisywania nowego zmienna.

Myślałem:

String.Format("{0:###-###-####}", i["MyPhone"].ToString() );

ale to się nie udaje.

** AKTUALIZACJA **

Dobrze. Poszedłem z tym rozwiązaniem

Convert.ToInt64(i["Customer Phone"]).ToString("###-###-#### ####")

Teraz jest zawalony, gdy rozszerzenie jest mniejsze niż 4 cyfry. Wypełni liczby z prawej strony. więc

1112224444 333  becomes

11-221-244 3334

Jakieś pomysły?

questionAnswers(19)

yourAnswerToTheQuestion