MessageBox.Show (TimeSpan) - PullRequest
0 голосов
/ 12 апреля 2010

Я хотел бы показать TimeSpan в MessageBox, но получаю ошибку:

DateTime date1 = new DateTime(byear, bmonth, bday, 0, 0, 0);
DateTime datenow =  DateTime.Now;
TimeSpan age = datenow - date1;
MessageBox.Show(ToString(age));

Error 1 No overload for method 'ToString' takes '1' arguments

как вывести окно сообщения с TimeSpan?

Ответы [ 4 ]

11 голосов
/ 12 апреля 2010
MessageBox.Show(age.ToString());

Хотя вам может не понравиться результат. Если вы хотите определенный формат, вы должны реализовать его самостоятельно.

3 голосов
/ 13 апреля 2010

Это будет выглядеть не очень хорошо, TimeSpan не имеет достойного переопределения ToString () в .NET 3.5 и более ранних версиях. Обойти это можно с помощью метода DateTime.ToString ():

  string txt = new DateTime(Math.Abs(age.Ticks)).ToString("h:mm:ss");
  if (age.Ticks < 0) txt = "-" + txt;
  MessageBox.Show(txt);
2 голосов
/ 12 апреля 2010

нужно сделать age.ToString()

1 голос
/ 12 апреля 2010

или вы можете сделать Convert.ToString(age), чтобы сохранить тот формат, который вы используете сейчас

...