System.TimeSpan.TryParse-methoden

Opmerking

In dit artikel vindt u aanvullende opmerkingen in de referentiedocumentatie voor deze API.

Methode TryParse(System.String,System.TimeSpan@)

De TimeSpan.TryParse(String, TimeSpan) methode lijkt op de TimeSpan.Parse(String) methode, behalve dat er geen uitzondering wordt gegenereerd als de conversie mislukt.

De s parameter bevat een tijdsintervalspecificatie in de vorm:

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

Elementen in vierkante haken ([ en ]) zijn optioneel. Eén selectie uit de lijst met alternatieven tussen accolades ({ en }) en gescheiden door verticale balken (|) is vereist. In de volgende tabel wordt elk element beschreven.

Onderdeel Beschrijving
Ws Optionele witruimte.
- Een optioneel minteken, dat een negatieve TimeSpanaangeeft.
d Dagen, variërend van 0 tot 10675199.
. Een cultuurgevoelig symbool dat dagen van uren scheidt. In de invariante notatie wordt een punt (".") gebruikt.
uh Uren, variërend van 0 tot 23.
: Het cultuurgevoelige tijdscheidingsteken. De invariante notatie maakt gebruik van een dubbele punt (:).
Mm Minuten, variërend van 0 tot 59.
ss Optionele seconden, variërend van 0 tot 59.
. Een cultuurgevoelig symbool dat seconden scheidt van breuken van een seconde. In de invariante notatie wordt een punt (".") gebruikt.
ff Optionele fractionele seconden, bestaande uit één tot zeven decimale cijfers.

De onderdelen van s moeten gezamenlijk een tijdsinterval opgeven dat groter is dan of gelijk is aan TimeSpan.MinValue en kleiner dan of gelijk aan TimeSpan.MaxValue.

De Parse(String)-methode probeert s te parseren met elk van de cultuurspecifieke notaties voor de huidige cultuur.

TryParse(String, IFormatProvider, TimeSpan) methode

De TryParse(String, IFormatProvider, TimeSpan) methode is net als de Parse(String, IFormatProvider) methode, behalve dat deze geen uitzondering genereert als de conversie mislukt.

De input parameter bevat een tijdsintervalspecificatie in de vorm:

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

Elementen in vierkante haken ([ en ]) zijn optioneel. Eén selectie uit de lijst met alternatieven tussen accolades ({ en }) en gescheiden door verticale balken (|) is vereist. In de volgende tabel wordt elk element beschreven.

Onderdeel Beschrijving
Ws Optionele witruimte.
- Een optioneel minteken, dat een negatieve TimeSpanaangeeft.
d Dagen, variërend van 0 tot 10675199.
. Een cultuurgevoelig symbool dat dagen van uren scheidt. In de invariante notatie wordt een punt (".") gebruikt.
uh Uren, variërend van 0 tot 23.
: Het cultuurgevoelige tijdscheidingsteken. De invariante notatie maakt gebruik van een dubbele punt (:).
Mm Minuten, variërend van 0 tot 59.
ss Optionele seconden, variërend van 0 tot 59.
. Een cultuurgevoelig symbool dat seconden scheidt van breuken van een seconde. In de invariante notatie wordt een punt (".") gebruikt.
ff Optionele fractionele seconden, bestaande uit één tot zeven decimale cijfers.

De onderdelen van input moeten gezamenlijk een tijdsinterval opgeven dat groter is dan of gelijk is aan TimeSpan.MinValue en kleiner dan of gelijk aan TimeSpan.MaxValue.

De methode TryParse(String, IFormatProvider, TimeSpan) probeert input te parseren met behulp van elk van de cultuurspecifieke notaties voor de cultuur die door formatProvider is opgegeven.

De formatProvider parameter is een IFormatProvider implementatie die cultuurspecifieke informatie biedt over de indeling van de geretourneerde tekenreeks. De formatProvider parameter kan een van de volgende zijn:

Als formatProvidernull is, wordt het aan de huidige cultuur gekoppelde DateTimeFormatInfo object gebruikt.

Notities voor bellers

In sommige gevallen kan een parsebewerking mislukken en true retourneren in .NET Framework 4 en latere versies wanneer een tijdsintervalonderdeel met meer dan zeven cijfers voorkomt in de te parsen tekenreeks, terwijl deze in .NET Framework 3.5 en eerdere versies was geslaagd en false retourneerde. In het volgende voorbeeld ziet u dit scenario:

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'