Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo TimeSpan.TryParse (String, IFormatProvider, TimeSpan)

 

Data di pubblicazione: ottobre 2016

Converte la rappresentazione di stringa di un intervallo di tempo nell'equivalente TimeSpan usando le informazioni di formattazione specifiche delle impostazioni cultura indicate e restituisce un valore che indica se la conversione è stata eseguita correttamente.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

public static bool TryParse(
	string input,
	IFormatProvider formatProvider,
	out TimeSpan result
)

Parametri

input
Type: System.String

Stringa che specifica l'intervallo di tempo da convertire.

formatProvider
Type: System.IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.

result
Type: System.TimeSpan

Quando questo metodo viene restituito, contiene un oggetto che rappresenta l'intervallo di tempo specificato da input o TimeSpan.Zero in caso di conversione non riuscita. Questo parametro viene passato non inizializzato.

Valore restituito

Type: System.Boolean

true se input è stato convertito correttamente; in caso contrario, false. Questa operazione restituisce false se il parametro input è null o String.Empty, presenta un formato non valido, rappresenta un intervallo di tempo minore di TimeSpan.MinValue o maggiore di TimeSpan.MaxValue o almeno un componente giorni, ore, minuti o secondi non è compreso nel relativo intervallo valido.

Il TryParse(String, IFormatProvider, TimeSpan) metodo è simile di Parse(String, IFormatProvider) metodo, ad eccezione del fatto che non genera un'eccezione se la conversione non riesce.

Il input parametro contiene una specifica di intervallo di tempo nel formato:

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

Gli elementi tra parentesi quadre ([e]) sono facoltativi. Una selezione dall'elenco delle alternative racchiuse tra parentesi graffe ({e}) e separati da barre verticali (|) è obbligatorio. Nella tabella seguente viene descritto ogni elemento.

Elemento

Descrizione

ws

Spazio vuoto facoltativo.

-

Un segno meno facoltativo, che indica un valore negativo TimeSpan.

d

Giorni compresi tra 0 e 10675199.

.

Simbolo delle impostazioni cultura che separa i giorni dalle ore. Il formato invariante utilizza un punto (".") .

hh

Ore, compreso tra 0 e 23.

:

Il simbolo di separatore di ora dipendenti dalle impostazioni cultura. Il formato invariante utilizza i due punti (":") caratteri.

mm

Minuti, compreso tra 0 e 59.

ss

Parametro facoltativi secondi, compreso tra 0 e 59.

.

Simbolo delle impostazioni cultura che separa i secondi da frazioni di secondo. Il formato invariante utilizza un punto (".") .

ff

Parametro facoltativi frazioni di secondo, costituito da uno a sette cifre.

I componenti di input collettivamente deve specificare un intervallo di tempo che è maggiore o uguale a TimeSpan.MinValue e minore o uguale a TimeSpan.MaxValue.

Il TryParse(String, IFormatProvider, TimeSpan) metodo tenta di analizzare input utilizzando tutte dei formati specifici delle impostazioni cultura delle impostazioni cultura specificate da formatProvider.

Il formatProvider parametro è un IFormatProvider implementazione che fornisce informazioni specifiche delle impostazioni cultura sul formato della stringa restituita. Il formatProvider parametro può essere uno dei seguenti:

Se formatProvider è null, DateTimeFormatInfo viene utilizzato l'oggetto associato con le impostazioni cultura correnti.

Note per i chiamanti:

In alcuni casi, quando un componente dell'intervallo di tempo nella stringa da analizzare contiene più di sette cifre, operazioni di analisi che esito negativo e restituiranno true nel .NET Framework 3.5 e versioni precedenti possono non riuscire e restituire false nel .NET Framework 4, nell'esempio seguente viene illustrato questo scenario.

string value = "000000006";
TimeSpan interval;
if (TimeSpan.TryParse(value, out interval))
   Console.WriteLine("{0} --> {1}", value, interval);
else
   Console.WriteLine("Unable to parse '{0}'", value);
// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
// Output from .NET Framework 4:
//       Unable to parse //000000006//

L'esempio seguente definisce una matrice di CultureInfo degli oggetti e utilizza ciascun oggetto nelle chiamate al TryParse(String, IFormatProvider, TimeSpan) metodo per analizzare gli elementi in una matrice di stringhe. Nell'esempio viene illustrata l'operazione di formattazione di influenza le convenzioni delle impostazioni cultura specifiche.

using System;
using System.Globalization;

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)
         {
            TimeSpan interval = new TimeSpan();
            if (TimeSpan.TryParse(value, culture, out interval))
               Console.Write("{0,20}", interval.ToString("c"));
            else
               Console.Write("{0,20}", "Unable to Parse");
         }
         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     Unable to Parse  6.12:14:45.3448000
//    6:12:14:45,3448       Unable to Parse  6.12:14:45.3448000     Unable to Parse
//    6:34:14:45            Unable to Parse     Unable to Parse     Unable to Parse

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 4.0
Windows Phone Silverlight
Disponibile da 7.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: