Retornar nada ou retornar void— O que exatamente C # faz no final de uma função void () vazia?
Considere a seguinte função C #:
void DoWork()
{
...
}
A documentação do C # declara:
Quando usado como o tipo de retorno para um método, void especifica que o métodonão retorna um valor.
Isso parece bastante simples e, na maioria dos casos, serve como uma definição justa.
No entanto, para muitas linguagens de nível inferior (ou seja, C), "void" tem um significado ligeiramente diferente. Especificamente, todos os blocos de código devem retornaralguma coisa. Assim sendo,void
é uma representação do ponteiro nulo que é uma representação de "nada". Nesse caso, você não precisa ter umreturn
declaração dentro de seu código porque qualquer instrução de bloco que não retorna um valor automaticamente retorna um ponteiro nulo.
É isso que C # faz ou quando umvoid
função é chamada, ele executa um bloco de código e retorna sem ter um ponteiro contendo um valor de void?