Lar Desenvolvimento O que é um operador de conversão? - o que é techopedia

O que é um operador de conversão? - o que é techopedia

Índice:

Anonim

Definição - O que significa Operador de Conversão?

Um operador de conversão, em C #, é um operador usado para declarar uma conversão em um tipo definido pelo usuário, para que um objeto desse tipo possa ser convertido para ou de outro tipo ou tipo básico definido pelo usuário. Os dois tipos diferentes de conversões definidas pelo usuário incluem conversões implícitas e explícitas.

Em geral, operadores de conversão explícitos e implícitos fornecem a capacidade de uma classe ser convertida para os outros tipos de dados possíveis.

Um operador de conversão explícito deve ser chamado com uma conversão e é usado quando a conversão precisa estar visível para os usuários do operador. É usado em expressões de conversão em que os dois tipos de dados não são totalmente compatíveis e, portanto, requerem um operador de conversão.

Um operador de conversão implícito é fácil de usar. Não requer sintaxe especial e melhora a legibilidade do código. Também ajuda uma classe a converter dados de um tipo de dados em seu tipo compatível sem conversão de tipo. A conversão implícita deve ser usada em situações como invocações e designações de membros da função, nas quais não há risco de perda de dados ou ocorrência de exceções.

Techopedia explica operador de conversão

Uma conversão implícita pode ser definida para uma classe usando a palavra-chave "implícita" junto com a palavra-chave "operator". Uma operação de conversão explícita pode ser definida para uma classe usando a palavra-chave "explícita" junto com a palavra-chave "operator". Ambas as conversões devem ser definidas como estáticas.

Por exemplo, uma classe, RomanNumeral, pode ser definida com dois operadores de conversão. Um operador implícito de conversão pode ser definido para converter da classe RomanNumeral em string para exibir um número na forma de numeral romano; o operador de conversão explícita pode ser definido para executar a conversão da classe RomanNumeral em número inteiro.

A conversão de uma classe em tipo de objeto ou tipo de interface não é permitida. O mesmo vale para a conversão da classe base em uma classe derivada da classe base.

Para uma determinada classe, os operadores explícito e implícito não podem ser especificados para conversão do mesmo tipo para outro.

Deve-se tomar cuidado para garantir que uma conversão implícita não resulte em perda de dados ou em uma exceção. Se houver motivos válidos para lançar uma exceção, a conversão deve ser do tipo explícito.

Esta definição foi escrita no contexto de C #
O que é um operador de conversão? - o que é techopedia