Annäherung der Speichernutzung von C#-Objekten
Die genaue Bestimmung des Speicherbedarfs eines C#-Objekts ist schwierig. Mithilfe der Serialisierung kann jedoch eine zuverlässige Schätzung erhalten werden.
Objektgröße mithilfe der Serialisierung schätzen
Bei dieser Methode wird das Objekt in einen Stream serialisiert und anschließend die Länge des Streams überprüft. Obwohl es nicht ganz genau ist, bietet es eine vernünftige Annäherung an den Speicherverbrauch des Objekts.
<code class="language-csharp">long size = 0; object o = new object(); using (Stream s = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(s, o); size = s.Length; }</code>
Anschauliches Beispiel
Diese Technik kann auf verschiedene Sammlungstypen wie Hashtable
, SortedList
und List<string>
angewendet werden, um eine Vorstellung von deren Speichernutzung zu erhalten.
Wichtige Überlegung: Dieser Ansatz ist möglicherweise nicht für alle Situationen geeignet, die präzise Gedächtnismessungen erfordern. Für genauere Ergebnisse werden spezielle Tools zur Speicherprofilierung empfohlen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Speichergröße eines C#-Objekts abschätzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!