Udostępnij za pośrednictwem


Stopwatch.Frequency Pole

Definicja

Pobiera częstotliwość czasomierza jako liczbę znaczników na sekundę. To pole jest tylko do odczytu.

public: static initonly long Frequency;
public static readonly long Frequency;
 staticval mutable Frequency : int64
Public Shared ReadOnly Frequency As Long 

Wartość pola

Przykłady

Poniższy przykład przedstawia częstotliwość i rozdzielczość czasomierza Stopwatch . Ten przykład kodu jest częścią większego przykładu podanego Stopwatch dla klasy.

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

Uwagi

Częstotliwość czasomierza wskazuje precyzję i rozdzielczość czasomierza. Na przykład częstotliwość czasomierza 2 miliony znaczników na sekundę jest równa rozdzielczości czasomierza 500 nanosekund na kleszcz. Innymi słowy, ponieważ jedna sekunda równa się 1 miliardowi nanosekund, częstotliwość czasomierza 2 milionów kleszczy na sekundę jest równoważna 2 milionom kleszczy na 1 miliard nanosekund, co można dodatkowo uprościć do 1 kleszcza na 500 nanosekund.

Wartość Frequency zależy od rozdzielczości bazowego mechanizmu chronometrażu. Jeśli zainstalowany sprzęt i system operacyjny obsługują licznik wydajności o wysokiej rozdzielczości, Frequency wartość odzwierciedla częstotliwość tego licznika. Frequency W przeciwnym razie wartość jest oparta na częstotliwości czasomierza systemowego.

Stopwatch Ponieważ częstotliwość zależy od zainstalowanego sprzętu i systemu operacyjnego, Frequency wartość pozostaje stała podczas działania systemu.

Dotyczy

Zobacz też