Buscar..


Observaciones

La conversión de tipos es convertir un tipo de datos a otro tipo. También se le conoce como Casting de Tipo. En C #, el casting de tipos tiene dos formas:

Conversión de tipo implícita : C # realiza estas conversiones de una manera segura para el tipo. Por ejemplo, son conversiones de tipos integrales de menor a mayor y conversiones de clases derivadas a clases base.

Conversión explícita de tipo : estas conversiones las realizan explícitamente los usuarios que utilizan las funciones predefinidas. Las conversiones explícitas requieren un operador de cast.

Ejemplo de operador implícito de MSDN

class Digit
{
    public Digit(double d) { val = d; }
    public double val;

    // User-defined conversion from Digit to double
    public static implicit operator double(Digit d)
    {
        Console.WriteLine("Digit to double implict conversion called");
        return d.val;
    }
    //  User-defined conversion from double to Digit
    public static implicit operator Digit(double d)
    {
        Console.WriteLine("double to Digit implict conversion called");
        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();
    }
}

Salida:

Dígito para duplicar la conversión implícita llamada
doble a la conversión implícita de dígitos llamada
num = 7 dig2 = 12

Demo en vivo en .NET Fiddle

Conversión explícita de tipos

using System;
namespace TypeConversionApplication 
{
   class ExplicitConversion 
   {
      static void Main(string[] args) 
      {
         double d = 5673.74; 
         int i;
         
         // cast double to int.
         i = (int)d;
         Console.WriteLine(i);
         Console.ReadKey();
      }
   }
}


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow