C#/배열과 리스트

[C#] 배열 관련 메서드

도도돋치 2025. 4. 1. 19:27
Contents 접기
728x90

 

기본개념

C#에서는 배열을 다룰 때 Array 클래스의 메서드를 많이 사용함
배열의 정렬, 복사, 검색 등을 쉽게 할 수 있도록 도와준다.

 

1. 배열 길이 구하기 → Length

🏷 배열의 크기를 알고 싶을 때 사용

int[] numbers = { 10, 20, 30, 40 };
Console.WriteLine(numbers.Length); // 출력: 4

📌 Length를 사용하면 배열 요소의 개수를 반환한다.

 

2. 배열 정렬 → Array.Sort()

🏷 배열을 오름차순으로 정렬할 때 사용

int[] arr = { 5, 2, 8, 1, 3 };
Array.Sort(arr);

foreach (int num in arr)
{
    Console.Write(num + " "); // 출력: 1 2 3 5 8
}

📌 Sort()작은 값부터 큰 값으로 정렬 (오름차순 정렬)

📌 내림차순을 원할 경우 Sort() + Reverse() 형태로 할 수 있다.

 

3. 배열 뒤집기 → Array.Reverse()

🏷 배열의 요소 순서를 거꾸로 뒤집음

int[] arr = { 1, 2, 3, 4, 5 };
Array.Reverse(arr);

foreach (int num in arr)
{
    Console.Write(num + " "); // 출력: 5 4 3 2 1
}

📌 원래 배열 자체를 뒤집음 (내림차순이 아님, 그냥 순서 변경)

 

4. 배열 복사 → Array.Copy()

🏷 배열의 일부 또는 전체를 다른 배열로 복사할 때 사용

int[] source = { 1, 2, 3, 4, 5 };
int[] destination = new int[5];

Array.Copy(source, destination, source.Length);

foreach (int num in destination)
{
    Console.Write(num + " "); // 출력: 1 2 3 4 5
}

📌Array.Copy(원본배열, 대상배열, 복사할 개수)

 

5. 배열 값 찾기 → Array.IndexOf()

🏷 특정 값이 배열의 몇 번째에 있는지 찾을 때 사용

int[] arr = { 10, 20, 30, 40 };
int index = Array.IndexOf(arr, 30);
Console.WriteLine(index); // 출력: 2

📌 찾은 값의 인덱스를 반환 (없으면 -1 반환)

 

6. 배열 초기화 → Array.Clear()

🏷 배열의 모든 값을 0 또는 null로 초기화

int[] arr = { 10, 20, 30, 40 };
Array.Clear(arr, 0, arr.Length);

foreach (int num in arr)
{
    Console.Write(num + " "); // 출력: 0 0 0 0
}

📌 Array.Clear(배열, 시작 인덱스, 개수)→ 배열의 일부만 초기화 가능

 

7. 배열의 일부 복사 → Array.Clone()

🏷 배열을 통째로 복사할 때 사용

int[] arr = { 1, 2, 3, 4, 5 };
int[] copy = (int[])arr.Clone();

foreach (int num in copy)
{
    Console.Write(num + " "); // 출력: 1 2 3 4 5
}

📌 Clone()은 원본과 같은 값을 가진 새로운 배열을 만듦 (독립적인 배열)

 

📖 정리

메서드  
Length 배열의 길이를 반환
Array.Sort() 배열을 오름차순 정렬
Array.Reverse() 배열 요소의 순서를 뒤집음
Array.Copy() 배열을 다른 배열로 복사
Array.IndexOf() 특정 값의 인덱스를 찾음
Array.Clear() 배열의 값을 0 또는 null로 초기화
Array.Clone() 배열을 복사하여 새로운 배열 생성

 

728x90