상세 컨텐츠

본문 제목

구조체, 나열형, foreach

청강컴정/C#

by luckey 2009. 5. 4. 02:10

본문

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace datetype
{
    //구조체 선언
    struct structTest
    {
        public int a;
        public string b;
    }

    //나열형 선언
    public enum Grades { F = 0, D = 1, C = 2, B = 3, A = 4 };
   
    class Program
    {
        //구조체 선언
        public struct CoOrds
        {
            public int x, y;

            public void test(int p1, int p2)
            {
                x = p1;
                y = p2;
            }
        }
       
        static void Main(string[] args)
        {
            //구조체의 사용예1 : new 연산자를 이용
            CoOrds co1 = new CoOrds();
            Console.Write("구조체 new연산자 이용 :");
            Console.WriteLine("x = {0}, y = {1}", co1.x, co1.y);

            //구조체의 사용예2 : new연산자를 사용하지 않음
            CoOrds co2;
            co2.x = 10;
            co2.y = 20;
            Console.Write("구조체 new연산자 사용않함 :");
            Console.WriteLine("x = {0}, y = {1}", co2.x, co2.y);

            //구조체의 사용예3 : new 연산자를 이용
            CoOrds co3 = new CoOrds();
            co3.test(10, 20);
            Console.Write("구조체 함수 사용 :");
            Console.WriteLine("x = {0}, y = {1}", co3.x, co3.y);

            //구조체의 사용예4 : 다른형태의 자료형을 사용
            structTest strTest;
            strTest.a = 10;
            strTest.b = "test";
            Console.Write("strTest :");
            Console.WriteLine("x = {0}, y = {1}", strTest.a, strTest.b);

           
            //나열형 enum 사용
            Grades g1 = Grades.D;
            Grades g2 = 0;

            Console.WriteLine("g1 = {0}", g1);
            Console.WriteLine("g2 = {0}", g2);

            //foreach문 사용
            foreach (int i in Enum.GetValues(typeof(Grades)))
            {
                Console.WriteLine("출력1 : {0}", i);
            }

            //foreach 문과 var를 사용하여 출력
            foreach (var str in Enum.GetNames(typeof(Grades)))
            {
                Console.WriteLine("출력2 : {0}", str);
            }
       
        }
    }
}

관련글 더보기

댓글 영역