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.TryParseExact (String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

 

Data di pubblicazione: ottobre 2016

Converte la rappresentazione di stringa specificata di un intervallo di tempo nell'equivalente TimeSpan usando i formati, le informazioni sul formato specifiche delle impostazioni cultura e gli stili specificati e restituisce un valore che indica se la conversione è stata eseguita correttamente. Il formato della rappresentazione di stringa deve corrispondere esattamente a uno dei formati specificati.

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

public static bool TryParseExact(
	string input,
	string[] formats,
	IFormatProvider formatProvider,
	TimeSpanStyles styles,
	out TimeSpan result
)

Parametri

input
Type: System.String

Stringa che specifica l'intervallo di tempo da convertire.

formats
Type: System.String[]

Matrice di stringhe di formato standard o personalizzato che definiscono i formati accettabili di input.

formatProvider
Type: System.IFormatProvider

Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.

styles
Type: System.Globalization.TimeSpanStyles

Uno o più valori di enumerazione che indicano lo stile di input.

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.

Il TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan) metodo analizza la rappresentazione di stringa di un intervallo di tempo che deve essere nel formato definito da una delle stringhe di formato specificate dal formats parametro, ad eccezione del fatto che gli e gli spazi vuoti finali vengono ignorati. Questo metodo è simile al ParseExact(String, String[], IFormatProvider, TimeSpanStyles) (metodo), ad eccezione del fatto che non genera un'eccezione se la conversione non riesce.

Il formats parametro è una matrice di stringa i cui elementi sono costituiti da un identificatore di formato singolo standard o uno o più identificatori di formato personalizzati che definiscono il formato richiesto di input. Per ulteriori informazioni sulle stringhe di formato valido, vedere Stringhe di formato TimeSpan standard e Stringhe di formato TimeSpan personalizzate. input deve corrispondere esattamente a un membro di formats per l'operazione di analisi abbia esito positivo. L'operazione di analisi tenta la corrispondenza input a ogni elemento in formats a partire dal primo elemento nella matrice.

System_CAPS_importantImportante

Il ParseExact metodo utilizza le convenzioni delle impostazioni cultura specificate per il formatProvider parametro solo se la stringa di formato utilizzata per analizzare input è uno standard TimeSpan il cui valore è "g" o "G" stringa di formato. Stringhe di formato standard "T", "c" e "t" utilizzano le convenzioni di formattazione delle impostazioni cultura invarianti. Stringhe di formato personalizzate definiscono il formato preciso della stringa di input e utilizzano i caratteri letterali per separare i componenti di un intervallo di tempo.

Il formatProvider parametro è un IFormatProvider implementazione che fornisce informazioni specifiche delle impostazioni cultura sul formato della stringa restituita se la stringa di formato utilizzata per analizzare input è una stringa di formato standard. Il formatProvider parametro può essere uno dei seguenti:

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

Il styles parametro influisce sull'interpretazione di stringhe che vengono analizzate tramite stringhe di formato personalizzato. Determina se input viene interpretato come un intervallo di tempo negativo solo se è presente un segno negativo (TimeSpanStyles.None), o se viene sempre interpretato come un intervallo di tempo negativo (TimeSpanStyles.AssumeNegative). Se TimeSpanStyles.AssumeNegative non viene utilizzato, format deve includere un simbolo di segno negativo letterale (ad esempio "\-") per analizzare correttamente un intervallo di tempo negativo.

Nell'esempio seguente viene chiamato il TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan) per convertire ogni elemento della matrice di stringhe per un TimeSpan valore. Le stringhe possono rappresentare un intervallo di tempo in formato breve generale o il formato esteso generale.

Inoltre, nell'esempio viene modificato il modo in cui i metodi di analisi di intervallo di tempo interpretano una sola cifra. In genere, una singola cifra viene interpretata come il numero di giorni in un intervallo di tempo. Al contrario, il %h stringa di formato personalizzata viene utilizzata per interpretare una sola cifra del numero di ore. Per la modifica abbia effetto, si noti che il %h stringa di formato personalizzata deve precedere le altre stringhe di formato nel formats matrice. Si noti inoltre l'output che il TimeSpanStyles.AssumeNegative flag specificato nella chiamata al metodo viene utilizzato solo quando l'analisi di una stringa con questo identificatore di formato.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] inputs = { "3", "16:42", "1:6:52:35.0625", 
                          "1:6:52:35,0625" }; 
      string[] formats = { "%h", "g", "G" };
      TimeSpan interval;
      CultureInfo culture = new CultureInfo("fr-FR");

      // Parse each string in inputs using formats and the fr-FR culture.
      foreach (string input in inputs) {
         if(TimeSpan.TryParseExact(input, formats, culture, 
                                   TimeSpanStyles.AssumeNegative, out interval))
            Console.WriteLine("{0} --> {1:c}", input, interval);
         else
            Console.WriteLine("Unable to parse {0}", input);   
      }
   }
}
// The example displays the following output:
//       3 --> -03:00:00
//       16:42 --> 16:42:00
//       Unable to parse 1:6:52:35.0625
//       1:6:52:35,0625 --> 1.06:52:35.0625000

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: