mukesh mourya Ответов: 3

Timespan не может быть проанализирован


У меня есть строковый список длительности времени. которые имеют две строки-
"01:33:56:00","00:23:34:00"

Когда я добавляю это значение списка, я получаю исключение-
Временной интервал не может быть проанализирован, потому что по крайней мере один из числовых компонентов находится вне диапазона или содержит слишком много цифр.

Я использую это-
Цитата:
Олст.TotleQcDuration = Олст.Отчеты.Совокупности(Значение Типа TimeSpan.Ноль, (итог, Т) =&ГТ; итого.Добавить(Значение Типа TimeSpan.Синтаксический анализ(т. Продолжительность))).Метод toString();

Что я уже пробовал:

olst.TotleQcDuration = olst.Reports.Aggregate(TimeSpan.Zero, (subtotal, t) => subtotal.Add(TimeSpan.Parse(t.Duration))).ToString();

Peter Leow

Где и как они находятся "001:33:56:00","00:23:34:00" хранится?

3 Ответов

Рейтинг:
19

Peter Leow

Где и как они находятся "01:33:56:00","00:23:34:00" хранится?
Проверить это TimeSpan. Parse Method (String) (System)[^], обратите особое внимание на формат параметра в разделе Примечания

[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]


Suvendu Shekhar Giri

Да ... имеет смысл. моя 5!

Рейтинг:
0

Suvendu Shekhar Giri

Попробуй-
"01:33:56:00" вместо "001:33:56:00"
Этот дополнительный 0 может вызвать проблему.

Надеюсь, это поможет :)


mukesh mourya

Извините, это всего лишь "01:33:56:00".

Suvendu Shekhar Giri

и вы все еще получаете ошибку?

mukesh mourya

Да

Рейтинг:
0

Mehedi Shams

Привет Мукеш,

Ваш первый параметр вызывает исключение переполнения. Значение после первого двоеточия "001:33:56: 00" - это часовое значение, и оно должно быть меньше 24 (ваше-33). Пожалуйста, исправьте его и поймайте в ловушку с помощью Try-Catch:

try
{
    olst.TotleQcDuration = olst.Reports.Aggregate(TimeSpan.Zero, (subtotal, t) => subtotal.Add(TimeSpan.Parse(t.Duration))).ToString();
}
catch (OverflowException)
{
    MessageBox.Show("A value in the string exceeds a legitimate value.");
}