Acasă Dezvoltare Ce este dimensiunea operatorului? - definiție din techopedia

Ce este dimensiunea operatorului? - definiție din techopedia

Cuprins:

Anonim

Definiție - Ce înseamnă Sizeof Operator?

Operatorul Sizeof, în C #, este un operator folosit pentru a determina dimensiunea (în octeți) a unui tip neadministrat care nu este un tip de referință.

În timp ce dezvoltăm aplicații care implică o alocare dinamică a memoriei, este foarte frecvent să găsim memoria alocată unui tip. Este foarte nesigur să presupuneți dimensiunea unui tip și să utilizați valoarea codificată în aplicație, deoarece acest lucru poate rupe aplicația atunci când este portată în sisteme diferite. Operatorul sizeof este utilizat în astfel de cazuri pentru a găsi dimensiunea unui tip de date compuse ca o struct. Cu toate acestea, poate fi utilizat doar pentru a calcula dimensiunea de octeți a tipurilor de valori și nu pentru tipurile de referință datorită sistemului de dispunere a tipurilor virtualizate din cadrul .NET.

Operatorul sizeof ajută la alocarea memoriei pentru structurile de date care sunt transmise din aplicația administrată către coduri neadministrate, cum ar fi Interop, serializare personalizată, etc. într-o variabilă pointer cu o valoare egală cu numărul de octeți ocupat de tipul de indicator. Operatorul de dimensiuni ajută la îmbunătățirea lizibilității codului.

Techopedia explică Operatorul Sizeof

Operatorul sizeof este un operator unar care ia un parametru singe și este utilizat cu cuvântul cheie "sizeof". Spre deosebire de C ++, operatorul sizeof este o construcție în timp de compilare, astfel încât parametrul trebuie să fie un tip închis cunoscut în timpul compilării, nu variabile. Parametrul poate fi, de asemenea, un enum, un pointer sau o structură definită de utilizator fără proprietăți de câmp sau tip de referință. Pentru anumite tipuri predefinite, operatorul sizeof returnează o valoare constantă, în timp ce utilizarea sa cu tipurile rămase are ca rezultat valori bazate pe implementare.

De exemplu, când operatorul sizeof este executat cu un număr întreg (int) ca parametru, întoarce întotdeauna numărul patru pentru a indica faptul că o variabilă de tip întreg ocupă patru octeți de memorie.

Când operatorul sizeof este aplicat unui operand de tip struct, acesta obține numărul total de octeți ocupați de o struct, care include octeții de umplutură folosiți pentru alinierea sa internă. Liniile directoare de urmat în timpul utilizării dimensiunii operatorului cu struct includ:
  • Ar trebui să fie apelat într-un bloc nesigur
  • Variabila struct nu trebuie să conțină un membru de tip de referință
  • Structura nu trebuie să fie un tip de valoare generică
Această definiție a fost scrisă în contextul C #
Ce este dimensiunea operatorului? - definiție din techopedia