Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Polegada polegada = new Polegada(10);

            Console.WriteLine(polegada);
            Console.ReadKey();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            /*
             * estruturas (struct são muito semelhantes a classes)
             * a diferença está no armazenamento por valor X por referência
             * estruturas = valor
             * classes = referência
             * struct costuma ser mais rápido que classes
             * a maneira de instanciar é idêntica a da classe
             */
            Console.Write("Digite um valor em polegadas para ser convertido em cm: ");
            double   polegadas = double.Parse(Console.ReadLine());
            Polegada polegada  = new Polegada(polegadas);

            Console.WriteLine("Valor em cm das polegadas: " + polegada.getPolegadaCentimetros());

            /*
             * passagem de parâmetro por valor: a variável valor que tem atribuída a si 25
             * é passada por parâmetro e ao ser impressa novamente nota-se que a mesma não
             * tem vínculo algum com a variável valor que está dentro do método Alterar por valor
             */
            double valor = 25;

            AlterarPorValor(valor);
            Console.WriteLine("Valor alterado por valor: " + valor);

            /*
             * passagem de parâmetro por referência: a variável valor que tem atribuída a si 25
             * é passada por parâmetro e ao ser impressa novamente nota-se que a mesma tem vínculo
             * com a variável valor que está dentro do método Alterar por Referência (irá ser 35)
             */
            AlterarPorReferencia(ref valor);
            Console.WriteLine("Valor alterado por referência: " + valor);

            /*
             * quando se utiliza o out para passar um valor por referência, DENTRO do método existente
             * o valor passado como referência não pode ser lido em hipótese alguma
             */
            AlterarPorReferenciaComOut(out valor);
            Console.WriteLine("Valor alterado por referência com out: " + valor);

            /*
             * utilizar a palavra reservada params permite com que você possa passar quantos parâmetros
             * quiser de valores string sequencia transformando o mesmo no final das contas em um array
             * similar ao *args do python
             * o valor marcado como params deve estar localizado no último parâmetro do método
             */
            string[] nomes = VariosParametros("yuri", "reis");

            Console.WriteLine("Nomes: ");
            foreach (string nome in nomes)
            {
                Console.WriteLine(nome);
            }
        }