Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

GC.MaxGeneration-Eigenschaft

 

Veröffentlicht: Oktober 2016

Ruft die maximale Anzahl von Generationen ab, die das System gegenwärtig unterstützt.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static int MaxGeneration { get; }

Eigenschaftswert

Type: System.Int32

Ein Wert zwischen 0 (null) und der Höchstanzahl der unterstützten Generationen.

Die Generierungsnummer bzw. das Alter eines Objekts ist eine implementierungsdefinierte relative Kennzahlen der Lebensdauer eines Objekts. Die zuletzt erstellten Objekte in Generation 0 und der ältesten Objekte sind in einer Generation, die kleiner oder gleich der Generierung von zurückgegebenen der MaxGeneration Eigenschaft.

Der Garbage Collector setzt voraus, dass neuere Arbeitsspeicher eher für die Garbagecollection als ältere Arbeitsspeicher berechtigt zu sein. Daher der Garbage Collector verbessert die Leistung durch Anpassen der Generierungsnummern jedes Mal, es Arbeitsspeicher frei gibt, und die MaxGeneration Eigenschaftswert Zeitverlauf zunehmen kann.

Wenn Objekt Alterungszeitraum implementiert wird, die MaxGeneration Eigenschaft gibt die maximale vom System verwendete Generationszahl; diese Eigenschaft gibt, andernfalls 0 (null) zurück.

Hinweise für Implementierer:

Für diese Implementierung der zurückgegebene Wert durch die MaxGeneration Eigenschaft wird sichergestellt, dass für die Lebensdauer einer ausgeführten Anwendung konstant bleiben.

Verwenden der MaxGeneration Eigenschaft, um den Höchstwert zu ermitteln, Sie, beim Aufrufen angeben können, der Collect -Methode, die einen Generationsparameter akzeptiert.

Das folgende Beispiel veranschaulicht die MaxGeneration-Eigenschaft zu verwenden, um die größten Generationszahl derzeit in Verwendung anzuzeigen.

using System;

namespace GCCollectIntExample
{
    class MyGCCollectClass
    {
        private const long maxGarbage = 1000;

        static void Main()
        {
            MyGCCollectClass myGCCol = new MyGCCollectClass();

            // Determine the maximum number of generations the system
	    // garbage collector currently supports.
            Console.WriteLine("The highest generation is {0}", GC.MaxGeneration);

            myGCCol.MakeSomeGarbage();

            // Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));

            // Determine the best available approximation of the number 
	    // of bytes currently allocated in managed memory.
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));

            // Perform a collection of generation 0 only.
            GC.Collect(0);

            // Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));

            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));

            // Perform a collection of all generations up to and including 2.
            GC.Collect(2);

            // Determine which generation myGCCol object is stored in.
            Console.WriteLine("Generation: {0}", GC.GetGeneration(myGCCol));
            Console.WriteLine("Total Memory: {0}", GC.GetTotalMemory(false));
            Console.Read();
        }

        void MakeSomeGarbage()
        {
            Version vt;

            for(int i = 0; i < maxGarbage; i++)
            {
                // Create objects and release them to fill up memory
		// with unused objects.
                vt = new Version();
            }
        }
    }
}

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: