Lar Desenvolvimento Qual é o tamanho do operador? - o que é techopedia

Qual é o tamanho do operador? - o que é techopedia

Índice:

Anonim

Definição - O que significa Sizeof Operator?

O operador Sizeof, em C #, é um operador usado para determinar o tamanho (em bytes) de um tipo não gerenciado que não é um tipo de referência.

Ao desenvolver aplicativos que envolvem alocação dinâmica de memória, é muito comum encontrar a memória alocada para um tipo. É muito inseguro assumir o tamanho de um tipo e usar o valor codificado no aplicativo, pois isso pode interromper o aplicativo quando portado para sistemas diferentes. O operador sizeof é usado nesses casos para encontrar o tamanho de um tipo de dados composto como uma estrutura. No entanto, ele só pode ser usado para calcular o tamanho de byte dos tipos de valor e não para os tipos de referência, devido ao sistema de layout de tipo virtualizado da estrutura .NET.

O operador sizeof ajuda na alocação de memória para estruturas de dados que passam do aplicativo gerenciado para código não gerenciado, como Interoperabilidade, serialização personalizada etc. Os operadores de incremento e decremento, que operam em ponteiros, usam o operador sizeof internamente para aumentar ou diminuir o endereço contido em uma variável de ponteiro por um valor igual ao número de bytes ocupados pelo tipo de ponteiro. O operador sizeof ajuda a melhorar a legibilidade do código.

Techopedia explica o tamanho do operador

O operador sizeof é um operador unário que usa um parâmetro singe e é usado com a palavra-chave "sizeof". Ao contrário do C ++, o operador sizeof é uma construção em tempo de compilação, portanto, o parâmetro deve ser um tipo fechado conhecido durante a compilação, não variáveis. O parâmetro também pode ser uma enumeração, um ponteiro ou uma estrutura definida pelo usuário sem nenhuma propriedade de campo ou tipo de referência. Para certos tipos predefinidos, o operador sizeof retorna um valor constante, enquanto seu uso com os tipos restantes resulta em valores baseados na implementação.

Por exemplo, quando o operador sizeof é executado com o número inteiro (int) como parâmetro, ele sempre retorna o número quatro para indicar que uma variável do tipo inteiro ocupa quatro bytes de memória.

Quando o operador sizeof é aplicado a um operando do tipo struct, ele busca o número total de bytes ocupados por uma estrutura, que inclui os bytes de preenchimento usados ​​para seu alinhamento internamente. As diretrizes a seguir ao usar o operador sizeof com struct incluem:
  • Deve ser chamado dentro de um bloco não seguro
  • A variável struct não deve conter um membro do tipo de referência
  • A estrutura não deve ser um tipo de valor genérico
Esta definição foi escrita no contexto de C #
Qual é o tamanho do operador? - o que é techopedia