Пример #1
0
        static void Main(string[] args)
        {
            int x = 10;
            int y = 20;

            y = x;
            Console.WriteLine(x);
            Console.WriteLine(y);

            PosicaoClass posicaoClass = new PosicaoClass();

            posicaoClass.x = 10;
            posicaoClass.y = 20;

            PosicaoClass posicaoClass2 = new PosicaoClass();

            posicaoClass2.x = 30;
            posicaoClass2.y = 40;

            posicaoClass2   = posicaoClass;
            posicaoClass2.x = 50;

            Console.WriteLine(posicaoClass.x);
            Console.WriteLine(posicaoClass.y);

            Console.WriteLine(posicaoClass2.x);
            Console.WriteLine(posicaoClass2.y);

            int valor = 10;

            Dobrar(ref valor);
            Console.WriteLine(valor);

            PosicaoClass posicaoClass3 = new PosicaoClass();

            posicaoClass3.x = 20;
            posicaoClass3.y = 30;

            PosicaoClass posicaoClass4 = new PosicaoClass();

            posicaoClass4.x = 40;
            posicaoClass4.y = 50;

            Dobrar(posicaoClass3);
            Dobrar(posicaoClass4);

            Console.WriteLine(posicaoClass3.x);
            Console.WriteLine(posicaoClass3.y);

            Console.WriteLine(posicaoClass4.x);
            Console.WriteLine(posicaoClass4.y);

            Console.ReadKey();
        }
Пример #2
0
        private static void RefTypeInt()
        {
            PosicaoClass pos1 = new PosicaoClass();

            pos1.x = 10;
            pos1.y = 20;
            PosicaoClass pos2 = new PosicaoClass();

            pos2.x = 30;
            pos2.y = 40;
            pos2   = pos1; // apontando ambos para a mesma posiçao de memória
            pos2.x = 50;

            Console.WriteLine(pos1.x);
            Console.WriteLine(pos1.y);
            Console.WriteLine(pos2.x);
            Console.WriteLine(pos2.y);
        }
Пример #3
0
        private static void RefTypeInt()
        {
            PosicaoClass pos1 = new PosicaoClass();

            pos1.X = 10;
            pos1.Y = 20;

            PosicaoClass pos2 = new PosicaoClass();

            pos2.X = 30;
            pos2.Y = 40;
            pos2   = pos1; // apontando ambos para a mesma posição de memória
            pos2.X = 50;
            Console.WriteLine(pos1.X);
            Console.WriteLine(pos1.Y);
            Console.WriteLine(pos2.X);
            Console.WriteLine(pos2.Y);
        }
Пример #4
0
        private static void RefTypeInt()
        {
            PosicaoClass pos1 = new PosicaoClass(); //Alocando memoria para um ponteiro

            pos1.x = 10;                            // Uma nova instancia.
            pos1.y = 20;

            PosicaoClass pos2 = new PosicaoClass(); //Alocando memoria

            pos2.x = 30;
            pos2.y = 40;
            pos2   = pos1; // apontando ambos para a  mesma posiçao de memória.
            pos2.x = 50;
            Console.WriteLine(pos1.x);
            Console.WriteLine(pos1.y);
            Console.WriteLine(pos2.x);
            Console.WriteLine(pos2.y);
        }
Пример #5
0
        static void Main(string[] args)
        {
            PosicaoClass pos1 = new PosicaoClass();

            pos1.x = 10;
            pos1.y = 20;
            PosicaoClass pos2 = new PosicaoClass();

            pos2.x = 30;
            pos2.y = 40;
            Dobrar(pos1);
            Dobrar(pos2);
            Console.WriteLine(pos1.x);
            Console.WriteLine(pos1.y);
            Console.WriteLine(pos2.x);
            Console.WriteLine(pos2.y);

            Console.ReadLine();
        }
Пример #6
0
        static void Main(string[] args)
        {
            PosicaoClass pos1 = new PosicaoClass();

            pos1.X = 10;
            pos1.Y = 20;

            PosicaoClass pos2 = new PosicaoClass();

            pos2.X = 30;
            pos2.Y = 40;
            DobrarRefType(pos1);
            DobrarRefType(pos2);
            Console.WriteLine(pos1.X);
            Console.WriteLine(pos1.Y);
            Console.WriteLine(pos2.X);
            Console.WriteLine(pos2.Y);
            Console.ReadLine();
        }
Пример #7
0
        static void Main(string[] args)
        {
            PosicaoClass pos1 = new PosicaoClass(); //Alocando memoria para um ponteiro

            pos1.x = 10;                            // Uma nova instancia.
            pos1.y = 20;

            PosicaoClass pos2 = new PosicaoClass(); //Alocando memoria

            pos2.x = 30;
            pos2.y = 40;
            Dobrar(pos1);
            Dobrar(pos2);
            Console.WriteLine(pos1.x); // Não precisa ser passado com ref pois uma
            Console.WriteLine(pos1.y); // class já é uma referencia
            Console.WriteLine(pos2.x);
            Console.WriteLine(pos2.y);
            Console.ReadLine();
        }
Пример #8
0
        }//chama metodo declarado anteriormente de um value type, atraves de uma copia do valor indicado

        private static void RefTypeInt()
        {
            PosicaoClass pos1 = new PosicaoClass();//ponteiro

            pos1.x = 10;
            pos1.y = 20;

            PosicaoClass pos2 = new PosicaoClass();//ponteiro

            pos2.x = 30;
            pos2.y = 40;

            pos2   = pos1; //um ponteiro aponta para a msm posição de outro ponteiro, não gera uma copia como os Value Types
            pos2.x = 50;   //afeta o x de pos 1 pois na linha anterior ambos os ponteiros apontam para o msm espaço de memoria
            Console.WriteLine(pos1.x);
            Console.WriteLine(pos1.y);
            Console.WriteLine(pos2.x);
            Console.WriteLine(pos2.y);
        }//metodo exemplo para Reference Type Int
Пример #9
0
        private static void DobrarRef()
        {
            PosicaoClass pos1 = new PosicaoClass();//ponteiro

            pos1.x = 10;
            pos1.y = 20;

            PosicaoClass pos2 = new PosicaoClass();//ponteiro

            pos2.x = 30;
            pos2.y = 40;

            Dobrar(pos1);
            Dobrar(pos2);

            Console.WriteLine(pos1.x);
            Console.WriteLine(pos1.y);
            Console.WriteLine(pos2.x);
            Console.WriteLine(pos2.y);
        }//chama metodo declarado anteriormente de um reference type, atraves do valor original declarado na class PosicaoClass
Пример #10
0
 public static void Dobrar(PosicaoClass valor)
 {
     valor.x = valor.x * 2;
     valor.y = valor.y * 2;
 }
Пример #11
0
 public static void DobrarRefType(PosicaoClass valor)// passando valor como referência
 {
     valor.X = valor.X * 2;
     valor.Y = valor.Y * 2;
 }
Пример #12
0
 public static void Dobrar(PosicaoClass posicao)
 {
     posicao.x = posicao.x * 2;
     posicao.y = posicao.y * 2;
 }
Пример #13
0
 public static void Dobrar(PosicaoClass valor)//dobra um Reference Type, no caso um inteiro
 {
     valor.x = valor.x * 2;
     valor.y = valor.y * 2;
 }