Compartilhar via


(C# referência implícita)

O implicit palavra-chave é usada para declarar um operador de conversão implícitas de tipo definido pelo usuário. Usá-lo para permitir conversões implícitas entre um tipo definido pelo usuário e outro tipo, a conversão não irá causar uma 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 origem. No entanto, como conversões implícitas não exigem aos programadores explicitamente convertido de um tipo para outro, deve ter cuidado para evitar resultados inesperados. Em geral, os operadores de conversão implícita devem nunca lançar exceções e nunca perder 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 C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Tarefas

How to: -De usuário de implementar definiu conversões entre Structs (C# guia de programação)

Referência

C# Keywords

(C# referência explícita)

operador (Referência de C#)

Conceitos

C# Programming Guide

Outros recursos

C# Reference