public void Executar()
        {
            double vDivida = 1_234_567_890.123;
            long   vCopia  = (long)vDivida;

            Console.WriteLine(vCopia.GetType());


            Animal vAnimal = new Gato();
            Gato   vGato   = (Gato)vAnimal; //Cast = conversão explícita

            Console.WriteLine(vGato.GetType());
        }
Пример #2
0
        public void Executar()
        {
            //Conversões implícitas

            //Para tipos numéricos internos, uma conversão implícita poderá ser feita quando o
            //valor a ser armazenado puder se ajustar à variável sem ser truncado ou arredondado.

            //Por exemplo, uma variável do tipo long (inteiro de 8 bytes) pode armazenar
            //qualquer valor que uma int (4 bytes em um computador de 32 bits) pode armazenar.

            //No exemplo a seguir, o compilador converte implicitamente o valor à direita para
            //um tipo long antes de atribuí-lo à grandeNumero.

            //// Conversão implícita. A variável long pode conter qualquer valor que um int suporta

            int  num          = 2147483647;
            long grandeNumero = num;

            Console.WriteLine($"grandeNumero: {grandeNumero}");
            //Resultado
            //grandeNumero: 2147483647


            //Tabela de conversões numéricas implícitas.

            //De Para
            //========
            //sbyte   short, int, long, float, double ou decimal
            //byte    short, ushort, int, uint, long, ulong, float, double ou decimal
            //short   int, long, float, double ou decimal
            //ushort  int, uint, long, ulong, float, double ou decimal
            //int long, float, double ou decimal
            //uint    long, ulong, float, double ou decimal
            //long    float, double ou decimal
            //char    ushort, int, uint, long, ulong, float, double ou decimal
            //float   double
            //ulong   float, double ou decimal

            //Para tipos de referência, uma conversão implícita sempre existe de uma classe para
            //qualquer uma das suas interfaces ou classes base diretas ou indiretas.
            //Nenhuma sintaxe especial é necessária porque uma classe derivada sempre contém
            //todos os membros de uma classe base.

            Gato   gato   = new Gato();
            Animal animal = gato; // Sempre funciona!

            Console.WriteLine($"animal.GetType(): {animal.GetType()}");
            //Resultado
            //animal.GetType(): certificacao_csharp_roteiro.Gato
        }
        public void Executar()
        {
            double inteiro = 2_234_234;
            //long inteiroLongo = inteiro;
            long inteiroLongo = (long)inteiro;

            Console.WriteLine(inteiroLongo);


            Animal animal = new Gato();
            Gato   gato   = (Gato)animal;

            Console.WriteLine(gato.GetType());
        }
        public void Executar()
        {
            double divida = 1_234_567_890.123;
            //long copia = divida;

            double salario      = 1_237.89;
            long   copiaSalario = (long)salario;

            Console.WriteLine(copiaSalario);

            ///<image url="$(ProjectDir)img13.png" />
            ///

            Animal animal = new Gato();
            Gato   gato   = (Gato)animal; //cast = conversão explícita

            Console.WriteLine(gato.GetType());
        }
        public void Executar()
        {
            Animal gato = new Gato {
                Nome = "Bichano"
            };

            gato.Beber();
            gato.Comer();
            gato.Andar();

            Gato gata = new Gato {
                Nome = "Pantera"
            };

            gata.Beber();
            gata.Comer();
            gata.Andar();
        }
        public void Executar()
        {
            int  inteiro      = 2_234_234;
            long inteiroLongo = inteiro;

            Console.WriteLine(inteiroLongo);

            // erro de compilação: não podemos adicionar um recipiente enorme a um recipiente menor :(
            //int inteiroNovo = inteiroLongo;

            Gato   gato   = new Gato();
            Animal animal = gato;

            Console.WriteLine(animal.GetType());

            // erro de compilação: só podemos fazer a conversão implicita se utilizarmos como destino uma variavel do tipo base da classe
            // sendo recebida ou uma interface implementada pela classe ou por uma classe base da classe
            //Gato gatinho = animal;
        }
Пример #7
0
        public void Executar()
        {
            int  inteiro      = 2_123_456_789;
            long inteiroLongo = inteiro;

            Console.WriteLine(inteiroLongo);

            //inteiro = inteiroLongo;

            ///<image url="$(ProjectDir)img12.png" />

            Gato   gato   = new Gato();
            Animal animal = gato;

            Console.WriteLine(animal.GetType());
            IAnimal ianimal = gato;

            Console.WriteLine(ianimal.GetType());
            //gato = ianimal;
        }
 public void Executar()
 {
     Animal  animal  = new Animal();
     Gato    gato    = new Gato();
     Cliente cliente = new Cliente("José da Silva", 30);
 }