Zuhause Entwicklung Was ist die Größe des Operators? - Definition aus techopedia

Was ist die Größe des Operators? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet Sizeof Operator?

Sizeof-Operator in C # ist ein Operator, mit dem die Größe (in Byte) eines nicht verwalteten Typs bestimmt wird, der kein Referenztyp ist.

Während der Entwicklung von Anwendungen mit dynamischer Speicherzuweisung wird häufig der einem Typ zugewiesene Speicher gefunden. Es ist sehr unsicher, die Größe eines Typs anzunehmen und den fest codierten Wert in der Anwendung zu verwenden, da dies die Anwendung beschädigen kann, wenn sie auf verschiedene Systeme portiert wird. Der sizeof-Operator wird in solchen Fällen verwendet, um die Größe eines zusammengesetzten Datentyps wie einer Struktur zu ermitteln. Aufgrund des virtualisierten Typ-Layout-Systems von .NET Framework kann es jedoch nur zum Berechnen der Bytegröße von Werttypen und nicht für Referenztypen verwendet werden.

Der Operator sizeof hilft bei der Speicherzuweisung für Datenstrukturen, die aus der verwalteten Anwendung an nicht verwalteten Code wie Interop, benutzerdefinierte Serialisierung usw. übergeben werden. Inkrementierungs- und Dekrementierungsoperatoren, die Zeiger verarbeiten, verwenden den Operator sizeof intern, um die enthaltene Adresse zu inkrementieren oder zu dekrementieren in einer Zeigervariable um einen Wert, der der Anzahl der vom Zeigertyp belegten Bytes entspricht. Der sizeof-Operator trägt zur Verbesserung der Codelesbarkeit bei.

Techopedia erklärt Sizeof Operator

Der sizeof-Operator ist ein unärer Operator, der einen einzelnen Parameter verwendet und mit dem Schlüsselwort "sizeof" verwendet wird. Im Gegensatz zu C ++ ist der Operator sizeof ein Konstrukt zur Kompilierungszeit, daher muss der Parameter ein geschlossener Typ sein, der während der Kompilierung bekannt ist, und keine Variablen. Der Parameter kann auch eine Aufzählung, ein Zeiger oder eine benutzerdefinierte Struktur ohne Feld- oder Referenztypeigenschaften sein. Für bestimmte vordefinierte Typen gibt der Operator sizeof einen konstanten Wert zurück, während die Verwendung mit den übrigen Typen zu Werten führt, die auf der Implementierung basieren.

Wenn der Operator sizeof beispielsweise mit integer (int) als Parameter ausgeführt wird, gibt er immer die Zahl vier zurück, um anzuzeigen, dass eine Variable vom Typ integer vier Byte Speicher belegt.

Wenn der Operator sizeof auf einen Operanden vom Typ struct angewendet wird, ruft er die Gesamtzahl der von einer Struktur belegten Bytes ab, einschließlich der für die interne Ausrichtung verwendeten Füllbytes. Folgende Richtlinien müssen bei der Verwendung des Operators sizeof mit struct beachtet werden:
  • Es sollte in einem unsicheren Block aufgerufen werden
  • Die Strukturvariable darf kein Element des Referenztyps enthalten
  • Die Struktur darf kein generischer Werttyp sein
Diese Definition wurde im Kontext von C # geschrieben.
Was ist die Größe des Operators? - Definition aus techopedia