コード例 #1
0
        public static void Executar()
        {
            //Struck
            Console.WriteLine("----Struct----");
            SPonto ponto1 = new SPonto {
                X = 1, Y = 3
            };
            SPonto copiaSPonto = ponto1; //Atribuição por VALOR!!!

            ponto1.X = 3;

            Console.WriteLine("Ponto 1 x:{0}", ponto1.X);
            Console.WriteLine("Copia do ponto 1 X:{0}", copiaSPonto.X);



            //Class
            Console.WriteLine("----Class----");
            CPonto ponto2 = new CPonto {
                X = 2, Y = 4
            };
            CPonto copiaCponto = ponto2; //Atreibuição por REFERÊNCIA!!!

            ponto2.X = 4;

            Console.WriteLine("Ponto 2 x:{0}", ponto2.X);
            Console.WriteLine("Copia do ponto 2 x:{0}", copiaCponto.X);
        }
コード例 #2
0
        public static void Executar()
        {
            SPonto ponto1 = new SPonto {
                X = 1, Y = 3
            };
            SPonto copiaPonto1 = ponto1; // Atribuição por Valor e não por referencia. (Struct a passagem sempre é por valor e não por referencia)

            ponto1.X = 3;

            Console.WriteLine($"Ponto 1 X: {ponto1.X}");
            Console.WriteLine($"Copia ponto 1 X: {copiaPonto1.X}");

            CPonto ponto2 = new CPonto {
                X = 2, Y = 4
            };
            CPonto copiaPonto2 = ponto2; // Atribuição de uma classe é feita por referencia (trocando assim o valor pelo novo setado)

            ponto2.X = 6;

            Console.WriteLine($"\nPonto 2 X: {ponto2.X}");
            Console.WriteLine($"Copia ponto 2 X: {copiaPonto2.X}");
        }
コード例 #3
0
        public static void Executar()
        {
            SPonto ponto1 = new SPonto {
                X = 1, Y = 3
            };
            SPonto copiaPonto1 = ponto1;//Atribuição por valor

            ponto1.X = 3;

            Console.WriteLine("Ponto 1 X:{0}", ponto1.X);
            Console.WriteLine("Copia Ponto 1 X:{0}", copiaPonto1.X);

            CPonto ponto2 = new CPonto {
                X = 2, Y = 4
            };
            CPonto copiaPonto2 = ponto2; // Atribuição POR REFERENCIA

            ponto2.X = 5;

            Console.WriteLine("Ponto 2 X:{0}", ponto2.X);
            Console.WriteLine("Copia do ponto 2 X:{0}", copiaPonto2.X);
        }