C#

[C# 기초공부] 배열(1) 일차원배열과 다차원배열

zoozoo2 2023. 1. 6. 17:13

🐥 목차

  • 일차원 배열
  • 이차원 및 다차원 배열
  • 가변 배열
  • 배열을 인수로 전달
  • 배열을 리턴하는 메서드
  • 배열의 메서드

 

🟩 배열

  • 기본개념 :같은 데이터형 + 변수명 + 순차적인 메모리 나열
  • 참조형 : new를 통해 생성
  • Array로 부터 파생된 참조형
  • foreach 사용 가능

 

▶ 선언형식

  • 데이터형[ ] 배열명;
  • int[ ] array_name;

생성과 초기화

  • int[ ] array;
  • array = new int[ ] {1, 2, 3};
  • array = new int[3] {1, 2, 3};

 

  • int[ ] array = new int[3] {1, 2, 3};
  • int[ ] array = new int[ ] {1, 2, 3};

 

  • int[ ] array = {1, 2, 3};

 

🟥 일차원 배열

  • Array.Length 속성
  • foreach 사용(읽기 전용)
namespace ConsoleApp4
{
    class Myclass
    {
        static void Main(string[] args)
        {
            int[] nArray = { 1, 2, 3, 4 };
            for (int i = 0; i < 4; i++)
            {
                Console.WriteLine("{0}", nArray[i]);
            }

            for (int i = 0; i < nArray.Length; i++)
            {
                Console.WriteLine("{0}", nArray[i]);
            }

            foreach (int m in nArray)
            {
                Console.WriteLine("{0}",m);
            }

            string[] Days = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
            foreach(string str in Days)
            {
                Console.Write(str + " ");
            }
        }
    }
}

배열을 여러가지 방식으로 출력해봤다!

 

🟥 이차원 배열 및 다차원 배열

  • 행과 열, 면은 콤마(,)로 구분
  • 선언 형식  ① 데이터형 [,] 배열명;  ②데이터형[,,] 배열명;

행과 열중에서 어느 것이 먼저인가❓

이차원배열에서는 행이 먼저다.

 

행의 각각의 요소를 열이라고 보고, 열을 그룹으로 보고 있다.

 

🐣 형식(1)

int[,]  array1 = new int[2,2];

int[,,] array2 = new int[2,3,2];

 

int[,] array1 = new int[,]{ {1,2}, {3,4}};

int[,,] array2 = new int[,,]{ {1,2},{3,4},{5,6},{7,8}};

 

🐣 형식(2)

int[,] array1 = new int[2,2] {{1,2},{3,4}};

int[,,] array2 = new int[2,3,2] {{1,2},{3,4},{5,6},{7,8},{9,10},{11,12}};

 

🐣 형식(3)

int[,] array2 = {

                      {1,2},{3,4},{5,6}

                       };

int[,,] array3 = {

                        {{1,2},{3,4},{5,6}},

                        {{7,8},{9,10},{11,12}}

                        };

 

namespace ConsoleApp4
{
    class Myclass
    {
        static void Main(string[] args)
        {
            int[,] nArray1 = new int[2, 2];
            nArray1[0, 0] = 1;
            nArray1[0, 1] = 2;
            nArray1[1, 0] = 3;
            nArray1[1, 1] = 4;

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    Console.Write(nArray1[i, j] + " ");
                }
                Console.Write("\n");
            }
            Console.WriteLine();
            int[,] nArray2 =
            {
                {1,2 },{3,4 }
            };

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    Console.Write(nArray2[i, j] + " ");
                }
                Console.Write("\n");
            }
            Console.WriteLine();

            string[,,] strArray =
            {
                {
                    {"ab","cd"} ,{"ef","gh"}
                },
                {
                    {"ij","kl"},{"mn","op"}
                }
            };

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                    for(int k=0; k<2; k++)
                    {
                        Console.Write(strArray[i,j,k]+ " ");
                    }
                    Console.Write("\n");
                }
                Console.Write("\n");
            }
        }
    }
}

배열 출력해보기~!