Resize
Array.Resize(ref num_list, 1)
Array.Resize는 C#에서 배열의 크기를 동적으로 조정하는 메소드.
Array.Resize는 기존 배열의 크기를 늘리거나 줄일 때 사용.
새로운 배열 생성: 지정된 새 크기(1)를 가진 새로운 배열을 메모리에 만듦.
데이터 복사: 기존 배열(num_list)의 모든 요소를 새로 만든 배열로 복사.
참조 변경: ref 키워드를 통해 기존 배열 변수(num_list)가
이제 새로 만든 배열을 가리키도록 참조를 변경.
기존 배열의 요소는 그대로 유지되고,
크기가 늘어나면 새 요소는 기본값(예: int는 0, string은 null)으로 초기화.
Aggregate
배열.Aggregate(초기값, (누적값, 현재요소) => 누적값에 현재요소를 이용한 계산)
Aggregate 메서드는 배열의 각 요소를 순회하며 누적된 값을 계산할 때 사용.
int[] numbers = { 1, 2, 3, 4 };
int product = numbers.Aggregate(1, (currentProduct, nextNumber) => currentProduct * nextNumber);
// product = (1 x 1) x 2 x 3 x 4 = 24
1은 초기값. 곱셈의 경우 1로 시작해야 올바른 결과가 나옴.
(currentProduct, nextNumber)는 람다식의 매개변수로,
currentProduct는 이전까지의 누적값,
nextNumber는 현재 처리 중인 배열의 요소.

Copy
Array.Copy는 배열의 일부 또는 전체를 다른 배열로 복사하는 메소드.
이 코드는 num_list 배열의 내용을 answer 배열로 복사하라는 의미.
Array.Copy(sourceArray, destinationArray, length)는 세 개의 인수를 받음.
num_list (sourceArray): 원본 배열. 복사할 데이터가 있는 배열.
answer (destinationArray): 대상 배열. 데이터가 복사될 배열.
num_list.Length (length): 복사할 요소의 개수. 여기서는 num_list의 전체 길이를 의미.
int[] num_list = { 1, 2, 3, 4 };
int[] answer = new int[4]; // 복사할 배열의 크기는 원본과 같거나 커야 합니다.
Array.Copy(num_list, answer, num_list.Length);
// 이제 answer 배열도 { 1, 2, 3, 4 } 값을 갖게 됩니다.