TimeSpan.Parse Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls in die entsprechende TimeSpan.
Überlädt
Parse(String) |
Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls in die entsprechende TimeSpan. |
Parse(ReadOnlySpan<Char>, IFormatProvider) |
Konvertiert die Spannendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan. |
Parse(String, IFormatProvider) |
Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan. |
Parse(String)
Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls in die entsprechende TimeSpan.
public:
static TimeSpan Parse(System::String ^ s);
public static TimeSpan Parse (string s);
static member Parse : string -> TimeSpan
Public Shared Function Parse (s As String) As TimeSpan
Parameter
- s
- String
Eine Zeichenfolge, die das zu konvertierende Zeitintervall angibt.
Gibt zurück
Ein Zeitintervall, das s
entspricht.
Ausnahmen
s
ist null
.
Das Format von s
ist ungültig.
s
stellt eine Zahl dar, die kleiner als TimeSpan.MinValue oder größer als TimeSpan.MaxValue ist.
- oder -
Mindestens eine der Tages-, Stunden-, Minuten- oder Sekundenkomponenten liegt außerhalb des gültigen Bereichs.
Beispiele
Im folgenden Beispiel wird die Parse -Methode verwendet, um jedes Element in einem Zeichenfolgenarray in einen TimeSpan Wert zu konvertieren. Es ändert die aktuelle Systemkultur in Kroatisch ( Kroatien ("hr-HR") und Englisch - USA ("en-US"), um zu veranschaulichen, wie sich die aktuelle Systemkultur auf den Analysevorgang auswirkt.
using System;
using System.Globalization;
using System.Threading;
public class Example
{
public static void Main()
{
string[] values = { "6", "6:12", "6:12:14", "6:12:14:45",
"6.12:14:45", "6:12:14:45.3448",
"6:12:14:45,3448", "6:34:14:45" };
string[] cultureNames = { "hr-HR", "en-US"};
// Change the current culture.
foreach (string cultureName in cultureNames)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName);
Console.WriteLine("Current Culture: {0}",
Thread.CurrentThread.CurrentCulture.Name);
foreach (string value in values)
{
try {
TimeSpan ts = TimeSpan.Parse(value);
Console.WriteLine("{0} --> {1}", value, ts.ToString("c"));
}
catch (FormatException) {
Console.WriteLine("{0}: Bad Format", value);
}
catch (OverflowException) {
Console.WriteLine("{0}: Overflow", value);
}
}
Console.WriteLine();
}
}
}
// The example displays the following output:
// Current Culture: hr-HR
// 6 --> 6.00:00:00
// 6:12 --> 06:12:00
// 6:12:14 --> 06:12:14
// 6:12:14:45 --> 6.12:14:45
// 6.12:14:45 --> 6.12:14:45
// 6:12:14:45.3448: Bad Format
// 6:12:14:45,3448 --> 6.12:14:45.3448000
// 6:34:14:45: Overflow
//
// Current Culture: en-US
// 6 --> 6.00:00:00
// 6:12 --> 06:12:00
// 6:12:14 --> 06:12:14
// 6:12:14:45 --> 6.12:14:45
// 6.12:14:45 --> 6.12:14:45
// 6:12:14:45.3448 --> 6.12:14:45.3448000
// 6:12:14:45,3448: Bad Format
// 6:34:14:45: Overflow
open System
open System.Globalization
open System.Threading
let values =
[| "6"; "6:12"; "6:12:14"; "6:12:14:45"
"6.12:14:45"; "6:12:14:45.3448"
"6:12:14:45,3448"; "6:34:14:45" |]
let cultureNames = [| "hr-HR"; "en-US" |]
// Change the current culture.
for cultureName in cultureNames do
Thread.CurrentThread.CurrentCulture <- CultureInfo cultureName
printfn $"Current Culture: {Thread.CurrentThread.CurrentCulture.Name}"
for value in values do
try
let ts = TimeSpan.Parse value
printfn $"{value} --> {ts:c}"
with
| :? FormatException ->
printfn $"{value}: Bad Format"
| :? OverflowException ->
printfn $"{value}: Overflow"
printfn ""
// The example displays the following output:
// Current Culture: hr-HR
// 6 --> 6.00:00:00
// 6:12 --> 06:12:00
// 6:12:14 --> 06:12:14
// 6:12:14:45 --> 6.12:14:45
// 6.12:14:45 --> 6.12:14:45
// 6:12:14:45.3448: Bad Format
// 6:12:14:45,3448 --> 6.12:14:45.3448000
// 6:34:14:45: Overflow
//
// Current Culture: en-US
// 6 --> 6.00:00:00
// 6:12 --> 06:12:00
// 6:12:14 --> 06:12:14
// 6:12:14:45 --> 6.12:14:45
// 6.12:14:45 --> 6.12:14:45
// 6:12:14:45.3448 --> 6.12:14:45.3448000
// 6:12:14:45,3448: Bad Format
// 6:34:14:45: Overflow
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim values() As String = { "6", "6:12", "6:12:14", "6:12:14:45",
"6.12:14:45", "6:12:14:45.3448",
"6:12:14:45,3448", "6:34:14:45" }
Dim cultureNames() As String = { "hr-HR", "en-US"}
' Change the current culture.
For Each cultureName As String In cultureNames
Thread.CurrentThread.CurrentCulture = New CultureInfo(cultureName)
Console.WriteLine("Current Culture: {0}",
Thread.CurrentThread.CurrentCulture.Name)
For Each value As String In values
Try
Dim ts As TimeSpan = TimeSpan.Parse(value)
Console.WriteLine("{0} --> {1}", value, ts.ToString("c"))
Catch e As FormatException
Console.WriteLine("{0}: Bad Format", value)
Catch e As OverflowException
Console.WriteLine("{0}: Overflow", value)
End Try
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' Current Culture: hr-HR
' 6 --> 6.00:00:00
' 6:12 --> 06:12:00
' 6:12:14 --> 06:12:14
' 6:12:14:45 --> 6.12:14:45
' 6.12:14:45 --> 6.12:14:45
' 6:12:14:45.3448: Bad Format
' 6:12:14:45,3448 --> 6.12:14:45.3448000
' 6:34:14:45: Overflow
'
' Current Culture: en-US
' 6 --> 6.00:00:00
' 6:12 --> 06:12:00
' 6:12:14 --> 06:12:14
' 6:12:14:45 --> 6.12:14:45
' 6.12:14:45 --> 6.12:14:45
' 6:12:14:45.3448 --> 6.12:14:45.3448000
' 6:12:14:45,3448: Bad Format
' 6:34:14:45: Overflow
Hinweise
Der s
Parameter enthält eine Zeitintervallspezifikation im Format:
[ws] [-] { d | [d.] hh:mm[:ss[.ff]] }[ws]
Elemente in eckigen Klammern ([ und ]) sind optional. Eine Auswahl aus der Liste der Alternativen, die in geschweifte Klammern ({ und }) eingeschlossen und durch vertikale Balken (|) getrennt sind, ist erforderlich. In der folgenden Tabelle wird jedes Element beschrieben.
Element | BESCHREIBUNG |
---|---|
ws | Optionaler Leerraum. |
- | Ein optionales Minuszeichen, das ein negatives TimeSpanangibt. |
d | Tage zwischen 0 und 10675199. |
. | Ein kulturabhängiges Symbol, das Tage von Stunden trennt. Das invariante Format verwendet ein Punktzeichen ("."). |
hh | Stunden im Bereich von 0 bis 23. |
: | Das kulturabhängige Zeittrennzeichensymbol. Für das invariante Format wird ein Doppelpunkt (":") verwendet. |
mm | Minuten zwischen 0 und 59. |
ss | Optionale Sekunden im Bereich von 0 bis 59. |
. | Ein kulturabhängiges Symbol, das Sekunden von Sekundenbruchteilen trennt. Das invariante Format verwendet ein Punktzeichen ("."). |
Ff | Optionale Sekundenbruchteile, bestehend aus einer bis sieben Dezimalstellen. |
Wenn das s
Argument nicht nur ein Tagwert ist, muss es eine Stunden- und eine Minutenkomponente enthalten; andere Komponenten sind optional. Wenn sie vorhanden sind, müssen die Werte jeder Zeitkomponente innerhalb eines angegebenen Bereichs liegen. Beispielsweise muss der Wert von hh, der Stundenkomponente, zwischen 0 und 23 betragen. Daher gibt das Übergeben von "23:00:00" an die Parse -Methode ein Zeitintervall von 23 Stunden zurück. Auf der anderen Seite gibt das Übergeben von "24:00:00" ein Zeitintervall von 24 Tagen zurück. Da "24" außerhalb des Bereichs der Stundenkomponente liegt, wird es als Tagekomponente interpretiert.
Die Komponenten von s
müssen zusammen ein Zeitintervall angeben, das größer oder gleich TimeSpan.MinValue und kleiner oder gleich TimeSpan.MaxValueist.
Die Parse(String) -Methode versucht, die einzelnen kulturspezifischen Formate für die aktuelle Kultur zu analysieren s
.
Hinweise für Anrufer
Wenn eine Zeitintervallkomponente in der zu analysierenden Zeichenfolge mehr als sieben Ziffern enthält, verhalten sich Analysevorgänge in der .NET Framework 3.5 und früheren Versionen möglicherweise anders als Analysevorgänge in der .NET Framework 4 und höheren Versionen. In einigen Fällen können Analysevorgänge, die in der .NET Framework 3.5 und früheren Versionen erfolgreich sind, fehlschlagen und eine OverflowException in der .NET Framework 4 und höher auslösen. In anderen Fällen können Analysevorgänge, die eine FormatException in der .NET Framework 3.5 und früheren Versionen auslösen, fehlschlagen und eine OverflowException in der .NET Framework 4 und höher auslösen. Im folgenden Beispiel werden beide Szenarien veranschaulicht.
string[] values = { "000000006", "12.12:12:12.12345678" };
foreach (string value in values)
{
try {
TimeSpan interval = TimeSpan.Parse(value);
Console.WriteLine("{0} --> {1}", value, interval);
}
catch (FormatException) {
Console.WriteLine("{0}: Bad Format", value);
}
catch (OverflowException) {
Console.WriteLine("{0}: Overflow", value);
}
}
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// 12.12:12:12.12345678: Bad Format
// Output from .NET Framework 4 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
open System
let values = [| "000000006"; "12.12:12:12.12345678" |]
for value in values do
try
let interval = TimeSpan.Parse value
printfn $"{value} --> {interval}"
with
| :? FormatException ->
printfn $"{value}: Bad Format"
| :? OverflowException ->
printfn $"{value}: Overflow"
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// 12.12:12:12.12345678: Bad Format
// Output from .NET Framework 4 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
Dim values() As String = { "000000006", "12.12:12:12.12345678" }
For Each value As String In values
Try
Dim interval As TimeSpan = TimeSpan.Parse(value)
Console.WriteLine("{0} --> {1}", value, interval)
Catch e As FormatException
Console.WriteLine("{0}: Bad Format", value)
Catch e As OverflowException
Console.WriteLine("{0}: Overflow", value)
End Try
Next
' Output from .NET Framework 3.5 and earlier versions:
' 000000006 --> 6.00:00:00
' 12.12:12:12.12345678: Bad Format
' Output from .NET Framework 4:
' 000000006: Overflow
' 12.12:12:12.12345678: Overflow
Gilt für:
Parse(ReadOnlySpan<Char>, IFormatProvider)
Konvertiert die Spannendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.
public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider? formatProvider = default);
public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider formatProvider = default);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> TimeSpan
Public Shared Function Parse (input As ReadOnlySpan(Of Char), Optional formatProvider As IFormatProvider = Nothing) As TimeSpan
Parameter
- input
- ReadOnlySpan<Char>
Eine Spanne mit den Zeichen, die das zu konvertierende Zeitintervall darstellen.
- formatProvider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
Gibt zurück
Ein Zeitintervall, das input
entspricht, wie von formatProvider
angegeben.
Implementiert
Gilt für:
Parse(String, IFormatProvider)
Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.
public:
static TimeSpan Parse(System::String ^ input, IFormatProvider ^ formatProvider);
public:
static TimeSpan Parse(System::String ^ input, IFormatProvider ^ formatProvider) = IParsable<TimeSpan>::Parse;
public static TimeSpan Parse (string input, IFormatProvider formatProvider);
public static TimeSpan Parse (string input, IFormatProvider? formatProvider);
static member Parse : string * IFormatProvider -> TimeSpan
Public Shared Function Parse (input As String, formatProvider As IFormatProvider) As TimeSpan
Parameter
- input
- String
Eine Zeichenfolge, die das zu konvertierende Zeitintervall angibt.
- formatProvider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
Gibt zurück
Ein Zeitintervall, das input
entspricht, wie von formatProvider
angegeben.
Implementiert
Ausnahmen
input
ist null
.
Das Format von input
ist ungültig.
input
stellt eine Zahl dar, die kleiner als TimeSpan.MinValue oder größer als TimeSpan.MaxValue ist.
- oder -
Mindestens eine der Komponenten für Tage, Stunden, Minuten oder Sekunden in input
liegt außerhalb des zulässigen Bereichs.
Beispiele
Im folgenden Beispiel wird ein Array von CultureInfo -Objekten definiert und jedes Objekt in Aufrufen der Parse(String, IFormatProvider) -Methode verwendet, um die Elemente in einem Zeichenfolgenarray zu analysieren. Das Beispiel veranschaulicht, wie die Konventionen einer bestimmten Kultur den Formatierungsvorgang beeinflussen.
using System;
using System.Globalization;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string[] values = { "6", "6:12", "6:12:14", "6:12:14:45",
"6.12:14:45", "6:12:14:45.3448",
"6:12:14:45,3448", "6:34:14:45" };
CultureInfo[] cultures = { new CultureInfo("en-US"),
new CultureInfo("ru-RU"),
CultureInfo.InvariantCulture };
string header = String.Format("{0,-17}", "String");
foreach (CultureInfo culture in cultures)
header += culture.Equals(CultureInfo.InvariantCulture) ?
String.Format("{0,20}", "Invariant") :
String.Format("{0,20}", culture.Name);
Console.WriteLine(header);
Console.WriteLine();
foreach (string value in values)
{
Console.Write("{0,-17}", value);
foreach (CultureInfo culture in cultures)
{
try {
TimeSpan ts = TimeSpan.Parse(value, culture);
Console.Write("{0,20}", ts.ToString("c"));
}
catch (FormatException) {
Console.Write("{0,20}", "Bad Format");
}
catch (OverflowException) {
Console.Write("{0,20}", "Overflow");
}
}
Console.WriteLine();
}
}
}
// The example displays the following output:
// String en-US ru-RU Invariant
//
// 6 6.00:00:00 6.00:00:00 6.00:00:00
// 6:12 06:12:00 06:12:00 06:12:00
// 6:12:14 06:12:14 06:12:14 06:12:14
// 6:12:14:45 6.12:14:45 6.12:14:45 6.12:14:45
// 6.12:14:45 6.12:14:45 6.12:14:45 6.12:14:45
// 6:12:14:45.3448 6.12:14:45.3448000 Bad Format 6.12:14:45.3448000
// 6:12:14:45,3448 Bad Format 6.12:14:45.3448000 Bad Format
// 6:34:14:45 Overflow Overflow Overflow
open System
open System.Globalization
open System.Text.RegularExpressions
let values =
[| "6"; "6:12"; "6:12:14"; "6:12:14:45"
"6.12:14:45"; "6:12:14:45.3448"
"6:12:14:45,3448"; "6:34:14:45" |]
let cultures =
[| CultureInfo "en-US"
CultureInfo "ru-RU"
CultureInfo.InvariantCulture |]
let mutable header = $"""{"String",-17}"""
for culture in cultures do
header <- header +
if culture.Equals CultureInfo.InvariantCulture then
$"""{"Invariant",20}"""
else
$"{culture.Name,20}"
printfn $"{header}\m"
for value in values do
printf $"{value,-17}"
for culture in cultures do
try
let ts = TimeSpan.Parse(value, culture)
printf $"{ts,20:c}"
with
| :? FormatException ->
printf $"""{"Bad Format",20}"""
| :? OverflowException ->
printf $"""{"Overflow",20}"""
printfn ""
// The example displays the following output:
// String en-US ru-RU Invariant
//
// 6 6.00:00:00 6.00:00:00 6.00:00:00
// 6:12 06:12:00 06:12:00 06:12:00
// 6:12:14 06:12:14 06:12:14 06:12:14
// 6:12:14:45 6.12:14:45 6.12:14:45 6.12:14:45
// 6.12:14:45 6.12:14:45 6.12:14:45 6.12:14:45
// 6:12:14:45.3448 6.12:14:45.3448000 Bad Format 6.12:14:45.3448000
// 6:12:14:45,3448 Bad Format 6.12:14:45.3448000 Bad Format
// 6:34:14:45 Overflow Overflow Overflow
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim values() As String = { "6", "6:12", "6:12:14", "6:12:14:45",
"6.12:14:45", "6:12:14:45.3448",
"6:12:14:45,3448", "6:34:14:45" }
Dim cultures() As CultureInfo = { New CultureInfo("en-US"),
New CultureInfo("ru-RU"),
CultureInfo.InvariantCulture }
Dim header As String = String.Format("{0,-17}", "String")
For Each culture As CultureInfo In cultures
header += If(culture.Equals(CultureInfo.InvariantCulture),
String.Format("{0,20}", "Invariant"),
String.Format("{0,20}", culture.Name))
Next
Console.WriteLine(header)
Console.WriteLine()
For Each value As String In values
Console.Write("{0,-17}", value)
For Each culture As CultureInfo In cultures
Try
Dim ts As TimeSpan = TimeSpan.Parse(value, culture)
Console.Write("{0,20}", ts.ToString("c"))
Catch e As FormatException
Console.Write("{0,20}", "Bad Format")
Catch e As OverflowException
Console.Write("{0,20}", "Overflow")
End Try
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' String en-US ru-RU Invariant
'
' 6 6.00:00:00 6.00:00:00 6.00:00:00
' 6:12 06:12:00 06:12:00 06:12:00
' 6:12:14 06:12:14 06:12:14 06:12:14
' 6:12:14:45 6.12:14:45 6.12:14:45 6.12:14:45
' 6.12:14:45 6.12:14:45 6.12:14:45 6.12:14:45
' 6:12:14:45.3448 6.12:14:45.3448000 Bad Format 6.12:14:45.3448000
' 6:12:14:45,3448 Bad Format 6.12:14:45.3448000 Bad Format
' 6:34:14:45 Overflow Overflow Overflow
Hinweise
Der input
Parameter enthält eine Zeitintervallspezifikation im Format:
[ws] [-] { d | [d.] hh:mm[:ss[.ff]] }[ws]
Elemente in eckigen Klammern ([ und ]) sind optional; Eine Auswahl aus der Liste der Alternativen, die in geschweifte Klammern ({ und }) eingeschlossen und durch vertikale Balken (|) getrennt sind, ist erforderlich. In der folgenden Tabelle wird jedes Element beschrieben.
Element | BESCHREIBUNG |
---|---|
ws | Optionaler Leerraum. |
- | Ein optionales Minuszeichen, das ein negatives TimeSpanangibt. |
d | Tage zwischen 0 und 10675199. |
. | Ein kulturabhängiges Symbol, das Tage von Stunden trennt. Der Standardwert ist ein Punkt (".")-Zeichen. |
hh | Stunden im Bereich von 0 bis 23. |
: | Das kulturabhängige Zeittrennzeichensymbol. |
mm | Minuten zwischen 0 und 59. |
ss | Optionale Sekunden im Bereich von 0 bis 59. |
. | Ein kulturabhängiges Symbol, das Sekunden von Sekundenbruchteilen trennt. Der Standardwert ist ein Punkt (".")-Zeichen. |
Ff | Optionale Sekundenbruchteile, bestehend aus einer bis sieben Dezimalstellen. |
Wenn das input
Argument nicht nur ein Tagwert ist, muss es eine Stunden- und eine Minutenkomponente enthalten; andere Komponenten sind optional. Wenn sie vorhanden sind, müssen die Werte jeder Zeitkomponente innerhalb eines angegebenen Bereichs liegen. Beispielsweise muss der Wert von hh, der Stundenkomponente, zwischen 0 und 23 betragen. Daher gibt das Übergeben von "23:00:00" an die Parse -Methode ein Zeitintervall von 23 Stunden zurück. Auf der anderen Seite gibt das Übergeben von "24:00:00" ein Zeitintervall von 24 Tagen zurück. Da "24" außerhalb des Bereichs der Stundenkomponente liegt, wird es als Tagekomponente interpretiert.
Die Komponenten von input
müssen zusammen ein Zeitintervall angeben, das größer oder gleich TimeSpan.MinValue und kleiner oder gleich TimeSpan.MaxValueist.
Die Parse(String) -Methode versucht, die einzelnen kulturspezifischen Formate für die durch formatProvider
angegebene Kultur zu analysiereninput
.
Der formatProvider
Parameter ist eine IFormatProvider Implementierung, die kulturspezifische Informationen zum Format der zurückgegebenen Zeichenfolge bereitstellt. Der formatProvider
Parameter kann einer der folgenden Sein:
Ein CultureInfo -Objekt, das die Kultur darstellt, deren Formatierungskonventionen in der zurückgegebenen Zeichenfolge widergespiegelt werden sollen. Das DateTimeFormatInfo von der CultureInfo.DateTimeFormat -Eigenschaft zurückgegebene Objekt definiert die Formatierung der zurückgegebenen Zeichenfolge.
Ein DateTimeFormatInfo -Objekt, das die Formatierung der zurückgegebenen Zeichenfolge definiert.
Ein benutzerdefiniertes Objekt, das die IFormatProvider -Schnittstelle implementiert. Die - IFormatProvider.GetFormat Methode gibt ein DateTimeFormatInfo -Objekt zurück, das Formatierungsinformationen bereitstellt.
Wenn formatProvider
ist null
, wird das DateTimeFormatInfo Objekt verwendet, das der aktuellen Kultur zugeordnet ist.
Hinweise für Anrufer
Wenn eine Zeitintervallkomponente in der zu analysierenden Zeichenfolge mehr als sieben Ziffern enthält, verhalten sich Analysevorgänge in der .NET Framework 3.5 und früheren Versionen möglicherweise anders als Analysevorgänge in der .NET Framework 4 und höheren Versionen. In einigen Fällen können Analysevorgänge, die in der .NET Framework 3.5 und früheren Versionen erfolgreich sind, fehlschlagen und eine OverflowException in der .NET Framework 4 und höher auslösen. In anderen Fällen können Analysevorgänge, die eine FormatException in der .NET Framework 3.5 und früheren Versionen auslösen, fehlschlagen und eine OverflowException in der .NET Framework 4 und höher auslösen. Im folgenden Beispiel werden beide Szenarien veranschaulicht.
string[] values = { "000000006", "12.12:12:12.12345678" };
foreach (string value in values)
{
try {
TimeSpan interval = TimeSpan.Parse(value);
Console.WriteLine("{0} --> {1}", value, interval);
}
catch (FormatException) {
Console.WriteLine("{0}: Bad Format", value);
}
catch (OverflowException) {
Console.WriteLine("{0}: Overflow", value);
}
}
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// 12.12:12:12.12345678: Bad Format
// Output from .NET Framework 4 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
open System
let values = [| "000000006"; "12.12:12:12.12345678" |]
for value in values do
try
let interval = TimeSpan.Parse value
printfn $"{value} --> {interval}"
with
| :? FormatException ->
printfn $"{value}: Bad Format"
| :? OverflowException ->
printfn $"{value}: Overflow"
// Output from .NET Framework 3.5 and earlier versions:
// 000000006 --> 6.00:00:00
// 12.12:12:12.12345678: Bad Format
// Output from .NET Framework 4 and later versions or .NET Core:
// 000000006: Overflow
// 12.12:12:12.12345678: Overflow
Dim values() As String = { "000000006", "12.12:12:12.12345678" }
For Each value As String In values
Try
Dim interval As TimeSpan = TimeSpan.Parse(value)
Console.WriteLine("{0} --> {1}", value, interval)
Catch e As FormatException
Console.WriteLine("{0}: Bad Format", value)
Catch e As OverflowException
Console.WriteLine("{0}: Overflow", value)
End Try
Next
' Output from .NET Framework 3.5 and earlier versions:
' 000000006 --> 6.00:00:00
' 12.12:12:12.12345678: Bad Format
' Output from .NET Framework 4:
' 000000006: Overflow
' 12.12:12:12.12345678: Overflow
Gilt für:
Feedback
Feedback senden und anzeigen für