== operator

       static void Main(string[] args)
        {
            // 값형식과 참조형식
            int val1 = 5;
            int val2 = 10;
            if (val1 == val2) // false (val1과 val2는 값이 다름)
                Console.WriteLine(“val1 == val2”);
            else
                Console.WriteLine(“val1 != val2”);
            object val3 = val1;
            object val4 = val1;
            if (val3 == val4) // false (val3와  val4는 같은 곳을 참조하지 않음)
                Console.WriteLine(“val3 == val4”);
            else
                Console.WriteLine(“val3 != val4”);

            int val5 = (int)val3;
            int val6 = (int)val4;
            if (val5 == val6) // true (val5와 val6은 같은 값을 가짐)
                Console.WriteLine(“val5 == val6”);
            else
                Console.WriteLine(“val5 != val6”);

            Point pos1 = new Point(val1, val2);
            Point pos2 = new Point(val1, val2);
            if (pos1 == pos2) // false (만약 Point Class가 ==연산자와  != 연산자와 Equals와 GetHashCode를 구현하지 않았다면 같은 곳을 참조하고 있지 않음) true (만약 Point Class가 데이터의 내용이 같은지를 판별하는 ==연산자와 !=연산자와 Equals와 GetHashCode를 구현했다면)
                Console.WriteLine(“pos1 == pos2”);
            else
                Console.WriteLine(“pos1 != pos2”);
            if (pos1.X == pos2.X) // true
                Console.WriteLine(“pos1.X == pos2.X”);
            else
                Console.WriteLine(“pos1.X != pos2.X”);
            if (pos1.Y == pos2.Y) // true
                Console.WriteLine(“pos1.Y == pos2.Y”);
            else
                Console.WriteLine(“pos1.Y != pos2.Y”);

            Point pos3 = pos1;
            Point pos4 = pos1;
            if (pos3 == pos4) // true (pos3와 pos4는 같은 곳을 참조하고 있음)
                Console.WriteLine(“pos3 == pos4”);
            else
                Console.WriteLine(“pos3 != pos4”);

            object pos5 = pos3;
            object pos6 = pos4;
            if (pos5 == pos6) // true (pos5와 pos6는 같은 곳을 참조하고 있음)
                Console.WriteLine(“pos5 == pos6”);
            else
                Console.WriteLine(“pos5 != pos6”);

            Point pos7 = (Point)pos6;
            if (pos1 == pos7) // true (pos1, pos3, pos4, pos6, pos7는 같은 곳을 참조하고 있음)
                Console.WriteLine(“pos1 == pos7”);
            else
                Console.WriteLine(“pos1 != pos7”);
            if (pos2 == pos7) // false (만약 Point Class가 ==연산자와 != 연산자와 Equals와 GetHashCode를 구현하지 않았다면 같은 곳을 참조하고 있지 않음) true (만약 Point Class가 데이터의 내용이 같은지를 판별하는 ==연산자와 !=연산자와 Equals와 GetHashCode를 구현했다면)
                Console.WriteLine(“pos2 == pos7”);
            else
                Console.WriteLine(“pos2 != pos7”);

Leave a Reply

Your email address will not be published. Required fields are marked *