System.TimeSpan.TryParse-metoder

Anmärkning

Den här artikeln innehåller ytterligare kommentarer till referensdokumentationen för det här API:et.

TryParse(System.String,System.TimeSpan@)-metod

Metoden TimeSpan.TryParse(String, TimeSpan) liknar TimeSpan.Parse(String) metoden, förutom att den inte utlöser ett undantag om konverteringen misslyckas.

Parametern s innehåller en tidsintervallspecifikation i formuläret:

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

Element inom hakparenteser ([ och ]) är valfria. Ett val från listan med alternativ som omsluts av parenteser ({ och }) och avgränsas av lodräta streck (|) krävs. I följande tabell beskrivs varje element.

Komponent Beskrivning
Ws Valfritt tomt utrymme.
- Ett valfritt minustecken som anger ett negativt TimeSpan.
d Dagar, från 0 till 10675199.
. En kulturkänslig symbol som skiljer dagar från timmar. Det invarianta formatet använder ett punkttecken (".").
Hh Timmar, från 0 till 23.
: Symbolen för kulturanpassad tidsavskiljare. Det invarianta formatet använder ett kolontecken (":").
mm Minuter, från 0 till 59.
ss Valfria sekunder, mellan 0 och 59.
. En kulturkänslig symbol som skiljer sekunder från bråkdelar av en sekund. Det invarianta formatet använder ett punkttecken (".").
ff Valfria bråksekunder som består av en till sju decimaler.

Komponenterna s i måste tillsammans ange ett tidsintervall som är större än eller lika med TimeSpan.MinValue och mindre än eller lika med TimeSpan.MaxValue.

Metoden Parse(String) försöker parsa s med var och en av de kulturspecifika formaten för den aktuella kulturen.

TryParse(String, IFormatProvider, TimeSpan) metod

Metoden TryParse(String, IFormatProvider, TimeSpan) liknar Parse(String, IFormatProvider) metoden, förutom att den inte utlöser ett undantag om konverteringen misslyckas.

Parametern input innehåller en tidsintervallspecifikation i formuläret:

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

Element inom hakparenteser ([ och ]) är valfria. Ett val från listan med alternativ som omsluts av parenteser ({ och }) och avgränsas av lodräta streck (|) krävs. I följande tabell beskrivs varje element.

Komponent Beskrivning
Ws Valfritt tomt utrymme.
- Ett valfritt minustecken som anger ett negativt TimeSpan.
d Dagar, från 0 till 10675199.
. En kulturkänslig symbol som skiljer dagar från timmar. Det invarianta formatet använder ett punkttecken (".").
Hh Timmar, från 0 till 23.
: Symbolen för kulturanpassad tidsavskiljare. Det invarianta formatet använder ett kolontecken (":").
mm Minuter, från 0 till 59.
ss Valfria sekunder, mellan 0 och 59.
. En kulturkänslig symbol som skiljer sekunder från bråkdelar av en sekund. Det invarianta formatet använder ett punkttecken (".").
ff Valfria bråksekunder som består av en till sju decimaler.

Komponenterna input i måste tillsammans ange ett tidsintervall som är större än eller lika med TimeSpan.MinValue och mindre än eller lika med TimeSpan.MaxValue.

Metoden TryParse(String, IFormatProvider, TimeSpan) försöker parsa input med var och en av de kulturspecifika formaten för den kultur som anges av formatProvider.

Parametern formatProvider är en IFormatProvider implementering som ger kulturspecifik information om formatet på den returnerade strängen. Parametern formatProvider kan vara något av följande:

Om formatProvider är nullanvänds det DateTimeFormatInfo objekt som är associerat med den aktuella kulturen.

Anteckningar till uppringare

I vissa fall, när en tidsintervallkomponent i strängen som ska parsas innehåller fler än sju siffror, kan parsningsåtgärder som lyckades och returnerades true i .NET Framework 3.5 och tidigare versioner misslyckas och returneras false i .NET Framework 4 och senare versioner. I följande exempel visas det här scenariot:

string value = "000000006";
TimeSpan interval;
if (TimeSpan.TryParse(value, out interval))
   Console.WriteLine($"{value} --> {interval}");
else
   Console.WriteLine($"Unable to parse '{value}'");
   
// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
// Output from .NET Framework 4:
//       Unable to parse //000000006//
let value = "000000006"
match TimeSpan.TryParse value with
| true, interval ->
    printfn $"{value} --> {interval}"
| _ ->
    printfn $"Unable to parse '{value}'"
    
// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
// Output from .NET Framework 4:
//       Unable to parse //000000006//
Dim value As String = "000000006"
Dim interval As TimeSpan
If TimeSpan.TryParse(value, interval) Then
   Console.WriteLine("{0} --> {1}", value, interval)
Else
   Console.WriteLine("Unable to parse '{0}'", value)
End If
' Output from .NET Framework 3.5 and earlier versions:
'       000000006 --> 6.00:00:00
' Output from .NET Framework 4:
'       Unable to parse '000000006'