본문 바로가기
공부/C#

C# 공부(6) 57~60

by 라이티아 2024. 8. 25.

57. 배열의 초기화와 배열 요소의 출력

using System;
namespace P57
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] a = { 1, 2, 3 };
            Console.Write("a[]: ");
            foreach(var value in a) Console.Write($"{value} ");

            int[] b = { 1, 2, 3 };
            Console.Write("\nb[]: ");
            for(int i = 0; i < 3; i++) Console.Write($"{b[i]} ");

            int[] c = { 1, 2, 3 };
            Console.Write("\nc[]: ");
            for(int i = 0; i < c.Length;  i++) Console.Write($"{c[i]} ");
        }
    }
}

 

결과

a[]: 1 2 3
b[]: 1 2 3
c[]: 1 2 3

 

배열의 사용에 대한 코드이다

자료형[] 배열명 = new 자료형[배열 크기]

 

58. 배열과 Array 클래스

using System;

namespace P58
{
    class Program 
    {
        static void Main(string[] args)
        {
            int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
            PrintArray(a);

            int[] b = (int[])a.Clone();
            PrintArray(b);

            int[] c = new int[20];
            Array.Copy(a, 0, c, 1, 3);
            PrintArray(c);

            a.CopyTo(c, 3);
            PrintArray(c);

            Array.Sort(a);
            PrintArray(a);

            Array.Reverse(a);
            PrintArray(a);

            Array.Clear(a, 0, a.Length);
            PrintArray(a);
        }
        private static void PrintArray(int[] array)
        {
            foreach (int i in array)
            {
                Console.Write($"{i} ");
            }
        }
    }
}

 

결과

1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11
0 1 2 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 2 1 2 3 4 5 6 7 8 9 10 11 0 0 0 0 0 0
1 2 3 4 5 6 7 8 9 10 11
11 10 9 8 7 6 5 4 3 2 1
0 0 0 0 0 0 0 0 0 0 0

 

C#에서 사용되는 배열은 system.Array를 기반으로 하고 있기에, Array의 메소드를 사용 할 수 있다.

이 코드는 그 메소드를 테스트 하는 메소드이다

 

59. 다차원 배열

using System;

/*
    자료형 [ , ] 배열명 = new 자료형 [ , ]
    자료형 [] [] 배열명 = new 자료형 [] []  - 가변형 
 */

namespace P59 // 다차원 배열
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("2차원 배열 : arrA[2, 3]");
            int[,] arrA = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };

            for (int i = 0; i < arrA.GetLength(0); i++)
            {
                for (int j = 0; j < arrA.GetLength(1); j++)
                    Console.Write(arrA[i, j] + " ");
                Console.WriteLine();
            }

            Console.WriteLine("가변 배열 arrB");
            int[][] arrB = new int[2][];
            arrB[0] = new int[] { 1, 2};
            arrB[1] = new int[] { 3, 4, 5 };
            for (int i = 0;i < 2;i++)
            {
                for (int j = 0;j < arrB[i].Length;j++)
                    Console.Write(arrB[i][j] + " ");
                Console.WriteLine();
            }
        }
    }
}

 

결과

2차원 배열 : arrA[2, 3]
1 2 3
4 5 6
가변 배열 arrB
1 2
3 4 5

 

다차원 배열 개념에 대한 코드이다.

가변 배열과 고정배열 개념은 처음 봤는데, 유용한 지식인 것 같다

 

60. 이름을 배열에 저장하고 알파벳 순으로 정렬

using System;
// string 정렬
namespace P60
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] name = { "B", "A", "D", "C" };
            PrintArray(name);

            Array.Reverse(name);
            PrintArray(name);

            Array.Sort(name);
            PrintArray(name);

            Array.Reverse(name);
            PrintArray(name);
        }

        private static void PrintArray(string[] str)
        {
            foreach (var value in str)
            {
                Console.Write(value + " ");
            }
            Console.WriteLine();
        }
    }
}

 

결과

B A D C
C D A B
A B C D
D C B A

 

string값을 정렬하는 기능을 배열에 접목하는 코드이다.

 

C-sharp-Studying/Part2 at main · NoNamed02/C-sharp-Studying

C#언어 공부 정리. Contribute to NoNamed02/C-sharp-Studying development by creating an account on GitHub.

github.com

 

 

 

'공부 > C#' 카테고리의 다른 글

C# 공부(8) 71~80  (0) 2024.08.26
C# 공부(7) 61~70  (0) 2024.08.26
C# 공부(5) 51~56 (Part 1 End)  (0) 2024.08.24
C# 공부(4) 41~50  (0) 2024.08.24
C# 공부(3) 31~40  (0) 2024.08.23