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
'C# > 배열과 리스트' 카테고리의 다른 글
[C#] 컬렉션(Collection) (0) | 2025.04.15 |
---|---|
[C#] List<T> vs. 배열(T[]) 비교 (0) | 2025.04.01 |
[C#] 반복문을 활용한 배열접근 (0) | 2025.04.01 |
[C#] 배열 요소 접근, 배열의 범위 (0) | 2025.04.01 |
[C#] 제네릭을 사용하기 어려운 경우 (0) | 2025.03.26 |