implícita (translation from VPE for Csharp Reference)

The implicit palavra-chave é usada para declarar um operador de conversão implícita de tipo definido pelo usuário. Usá-lo para permitir conversões implícitas entre um tipo definido pelo usuário e outro tipo, se a conversão é garantida que não causa perda de dados.

Exemplo

    class Digit
    {
        public Digit(double d) { val = d; }
        public double val;
        // ...other members

        // User-defined conversion from Digit to double
        public static implicit operator double(Digit d)
        {
            return d.val;
        }
        //  User-defined conversion from double to Digit
        public static implicit operator Digit(double d)
        {
            return new Digit(d);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Digit dig = new Digit(7);
            //This call invokes the implicit "double" operator
            double num = dig;
            //This call invokes the implicit "Digit" operator
            Digit dig2 = 12;
            Console.WriteLine("num = {0} dig2 = {1}", num, dig2.val);
            Console.ReadLine();
        }
    }
}

Eliminando conversões desnecessárias, conversões implícitas podem melhorar a legibilidade do código de fonte.No entanto, já que as conversões implícitas não exigem programadores explicitamente converter de um tipo para Outros, deve-se tomar cuidado para evitar resultados inesperados.Em geral, os operadores de conversão implícita devem lançar exceções nunca e nunca perde informações para que possa ser usados com segurança sem o reconhecimento do programador.Se um operador de conversão não pode atender a esses critérios, ele deve ser marcado explicit. Para obter mais informações, consulte Usando operadores de conversão.

Especificação da linguagem C#

Para obter mais informações, consulte a seção a seguir no Especificação da linguagem C#:

  • Conversões implícitas 6.1

  • 10.9.3 Operadores de conversão

Consulte também

Tarefas

Como: Implementar conversões definidas pelo usuário entre as estruturas (guia de programação translation from VPE for Csharp)

Conceitos

Guia de Programação C#

Referência

Palavras-chave C#

explícita (translation from VPE for Csharp Reference)

operador (translation from VPE for Csharp Reference)

Outros recursos

Referência C#