Udostępnij za pośrednictwem


niejawne (C# odwołanie)

implicit Zostanie użyte słowo kluczowe, aby zadeklarować operatora konwersji niejawnych typ zdefiniowany przez użytkownika.Pozwala on włączyć konwersje między typ zdefiniowany przez użytkownika i innego typu, jeśli konwersja jest gwarantowane nie może powodować utratę danych.

Przykład

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();
    }
}

Dzięki wyeliminowaniu niepotrzebnych poświaty, konwersje niejawne, można poprawić czytelność kodu źródłowego.Jednakże ponieważ konwersje niejawne nie wymagają programistów jawnie oddać z jednego typu do drugiego, należy uważać, aby uniknąć nieoczekiwanych wyników.Ogólnie rzecz biorąc Operatorzy niejawna konwersja powinny nigdy nie generują wyjątki i nigdy nie stracisz informacji tak, aby używane bezpiecznie bez świadomości programmer's.Jeśli operator konwersji nie spełniają tych kryteriów, powinien być oznaczony explicit.Aby uzyskać więcej informacji, zobacz Za pomocą operatory konwersji.

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka to najlepsze źródło informacji dotyczących składni i zastosowania języka C#.

Zobacz też

Zadania

Jak: wdrożenie zdefiniowane przez użytkownika konwersje między strukturach (C# Programming Guide)

Informacje

Słowa kluczowe języka C#

jawne (C# odniesienia)

operator (C# odniesienia)

Koncepcje

Podręcznik programowania C#

Inne zasoby

C# odniesienia