카테고리 없음

C# 배열

bebeghi3356 2024. 11. 12. 11:32

1차원 배열의 활용

1. 배열의 초기화 방식

            int[] aa = { 100, 200, 300, 400 };


            int[] bb = new int[] { 100, 200, 300 };


            int[] cc;
            cc = new int[] { 100, 200 }; 


            int[] dd = new int[1];

            dd[0] = 100;

2. 큰 배열을 초기화 할 때 for문 활용함

 ex) 100개의 배열 aa에 2의 배수의 수를 넣음(큰 배열)

            int[] aa = new int[100];
            int[] bb = new int[200];
            
            for(int i = 0; i < 100; i++)
            {
                aa[i] = i * 2;

            }

            for(int i = 0; i < 100; i++)
            {
                bb[i] = aa[99 - i]; // aa 배열의 값을 뒤집어서 bb 배열에 저장
            }

            Console.WriteLine("bb[0]은 {0}, bb[99]는 {1}입력됨.", bb[0], bb[99]);

 

 

3. 배열 요소의 개수 확인

>>배열_이름.Length

 

            int[] aa = { 10, 20, 30, 40, 50 };
            int count, size;

            count = aa.Length;
            size = count * sizeof(int);

            Console.WriteLine("배열 aa[]의 요소의 개수는 {0}개", count);
            Console.WriteLine("배열 aa[]의 요소의 전체 크기는{0}바이트", size);

 

4. 배열 크기 변경

>> Array.Resize(ref 배열명, 새로운_크기) 라는 함수 메서드 활용

기존의 배열의 값을 유지하면서 크기를 변경 >> ref 배열명 (사요ㅛㅇ하지 않으면 0으로 찍힘)

            int[] aa = { 10, 20, 30 };

            Console.WriteLine("현 배열 크기 ==> {0}", aa.Length);
            Console.Write("현 배열 내용 ==>");
            for(int i = 0; i < aa.Length; i++)
                Console.Write("{0, 3:D}", aa[i]);
            Console.WriteLine();

            Array.Resize(ref aa, 5);

            Console.WriteLine("새 배열 크기 ==> {0}", aa.Length);
            Console.Write("새 배열 내용 ==>");
            for(int i = 0; i < aa.Length; i++)
                Console.Write("{0, 3:D}", aa[i]);
            Console.WriteLine();

 

>> 콘솔창

현 배열 크기 ==> 3
현 배열 내용 ==> 10 20 30
새 배열 크기 ==> 5
새 배열 내용 ==> 10 20 30  0  0

 

만약 새 배열에 추가된 값을 넣고 싶다면

resize한 뒤에 값을 새로 넣어주면 됨

// 새 배열에 추가된 값 넣기 aa[3] = 40; aa[4] = 50;

 

5. foreach문

c#에서는 배열을 하나씩 접근하는 방식이 좀 더 편리해지도록 foreach(변수 in 배열)을 사용

 

 

2차원 배열

1. int[ , ]ary = [행, 열]

 

 

2. 중첩 for문을 활용하여 2차원 배열 사용

 

3. 초기화 

ary[0,0]부터 ary[2,3]까지 출력

 

int[,]ary = {

{1,2,3,4}, {5,6,7,8}, {9,10,11,12} };

 

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int[,] ary = {

                {1,2,3,4}, 
                {5,6,7,8}, 
                {9,10,11,12} };



            for (int i = 0; i < 3; i++)
            {
                for ( int k = 0; k < i-3; k--)
                {
                    Console.Write(ary[i, k]);
                }
                Console.WriteLine("");
            }



        }
    }
}

>> 배열 거꾸로 나오게하기