Innehållsförteckning:
Definition - Vad betyder Sizeof Operator?
Operatören Sizeof, i C #, är en operatör som används för att bestämma storleken (i byte) av en ostyrd typ som inte är en referenstyp.
När man utvecklar applikationer som involverar dynamisk minnesallokering är det mycket vanligt att hitta minnet som är allokerat till en typ. Det är mycket osäkert att anta storleken på en typ och använda det hårdkodade värdet i applikationen, eftersom det kan bryta applikationen när den överförs till olika system. Operatörens storlek används i sådana fall för att hitta storleken på en sammansatt datatyp som en struktur. Det kan emellertid endast användas för att beräkna bytestorleken för värdetyper och inte för referenstyper på grund av det virtualiserade typlayoutsystemet i .NET-ramverket.
Operatören sizeof hjälper till med minnesallokering för datastrukturer som skickas utanför den hanterade applikationen till icke-hanterad kod som Interop, anpassad serialisering osv. Öknings- och minskningsoperatörer, som fungerar på pekare, använder operatorns storlekof internt för att öka eller minska adressen som finns i en pekarvariabel med ett värde lika med antalet byte som ockuperas av pekartypen. Operatörens storlek hjälper till att förbättra kodläsbarheten.
Techopedia förklarar Sizeof Operator
Operatören sizeof är en unär operatör som tar en singe-parameter och används med nyckelordet "sizeof". Till skillnad från C ++ är operatören sizeof en kompileringstidskonstruktion, så parametern måste vara en sluten typ som är känd under sammanställningen, inte variabler. Parametern kan också vara en enum, en pekare eller en användardefinierad struktur utan några fält- eller referenstypegenskaper. För vissa fördefinierade typer returnerar operatörens storlek ett konstant värde, medan dess användning med återstående typer resulterar i värden baserade på implementering.
När till exempel operatören sizeof körs med heltal (int) som en parameter, returnerar den alltid siffran fyra för att indikera att en variabel av heltalstyp upptar fyra byte minne.
När operatörens storlek tillämpas på en operand av strukturtyp hämtar den det totala antalet byte som upptas av en struktur, vilket inkluderar stoppningsbyten som används för dess inriktning internt. Riktlinjerna som ska följas vid användning av operatörens storlek med strukt inkluderar:- Det bör kallas inom ett osäkert block
- Strukturvariabeln får inte innehålla en medlem av referenstyp
- Strukturen får inte vara en generisk värdetyp













