Stopwatch.Frequency Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene la frequenza del timer sotto forma di numero di cicli al secondo. Questo campo è di sola lettura.
public: static initonly long Frequency;
public static readonly long Frequency;
staticval mutable Frequency : int64
Public Shared ReadOnly Frequency As Long
Valore del campo
Esempio
Nell'esempio seguente viene visualizzata la frequenza e la risoluzione di un Stopwatch timer. Questo esempio di codice fa parte di un esempio più grande fornito per la Stopwatch classe.
void DisplayTimerProperties()
{
// Display the timer frequency and resolution.
if ( Stopwatch::IsHighResolution )
{
Console::WriteLine( "Operations timed using the system's high-resolution performance counter." );
}
else
{
Console::WriteLine( "Operations timed using the DateTime class." );
}
Int64 frequency = Stopwatch::Frequency;
Console::WriteLine( " Timer frequency in ticks per second = {0}", frequency );
Int64 nanosecPerTick = (1000L * 1000L * 1000L) / frequency;
Console::WriteLine( " Timer is accurate within {0} nanoseconds", nanosecPerTick );
}
public static void DisplayTimerProperties()
{
// Display the timer frequency and resolution.
if (Stopwatch.IsHighResolution)
{
Console.WriteLine("Operations timed using the system's high-resolution performance counter.");
}
else
{
Console.WriteLine("Operations timed using the DateTime class.");
}
long frequency = Stopwatch.Frequency;
Console.WriteLine(" Timer frequency in ticks per second = {0}",
frequency);
long nanosecPerTick = (1000L*1000L*1000L) / frequency;
Console.WriteLine(" Timer is accurate within {0} nanoseconds",
nanosecPerTick);
}
Public Shared Sub DisplayTimerProperties()
' Display the timer frequency and resolution.
If Stopwatch.IsHighResolution Then
Console.WriteLine("Operations timed using the system's high-resolution performance counter.")
Else
Console.WriteLine("Operations timed using the DateTime class.")
End If
Dim frequency As Long = Stopwatch.Frequency
Console.WriteLine(" Timer frequency in ticks per second = {0}", frequency)
Dim nanosecPerTick As Long = 1000000000 / frequency
Console.WriteLine(" Timer is accurate within {0} nanoseconds", nanosecPerTick)
End Sub
Commenti
La frequenza timer indica la precisione e la risoluzione del timer. Ad esempio, una frequenza timer di 2 milioni di zecche al secondo equivale a una risoluzione timer di 500 nanosecondi per tick. In altre parole, poiché un secondo equivale a 1 miliardo di nanosecondi, una frequenza timer di 2 milioni di zecche al secondo equivale a 2 milioni di zecche per 1 miliardo di nanosecondi, che possono essere ulteriormente semplificate a 1 tick per 500 nanosecondi.
Il Frequency valore dipende dalla risoluzione del meccanismo di intervallo sottostante. Se l'hardware e il sistema operativo installati supportano un contatore delle prestazioni ad alta risoluzione, il Frequency valore riflette la frequenza di tale contatore. In caso contrario, il Frequency valore è basato sulla frequenza timer di sistema.
Poiché la Stopwatch frequenza dipende dall'hardware e dal sistema operativo installato, il Frequency valore rimane costante mentre il sistema è in esecuzione.