> 백엔드 개발 > C++ > C#에서 배열의 크기를 동적으로 조정하려면 Array.Resize() 또는 목록을 사용해야 합니까?

C#에서 배열의 크기를 동적으로 조정하려면 Array.Resize() 또는 목록을 사용해야 합니까?

Linda Hamilton
풀어 주다: 2024-12-29 02:18:14
원래의
547명이 탐색했습니다.

Should I Use Array.Resize() or Lists for Dynamically Resizing Arrays in C#?

동적으로 배열 크기 조정: Array.Resize() 대 목록

프로그래밍에서 배열은 고정 크기 데이터 구조입니다. 즉, 크기를 의미합니다. 선언 후에는 변경할 수 없습니다. 그러나 배열 크기를 미리 알 수 없어 동적으로 조정해야 하는 상황이 있습니다. 이는 질문을 제기합니다. C#에서 배열의 크기를 조정할 수 있습니까?

대답은 "예"이기도 하고 "아니요"이기도 합니다. C#에서는 Array.Resize() 메서드를 제공하지만 Array.Resize()는 기술적으로 원본 배열의 크기를 조정하지 않는다는 점에 유의해야 합니다. 대신, 지정된 크기의 새 배열을 만들고 이전 배열의 요소를 새 배열에 복사합니다. 그런 다음 원래 배열 참조는 새 배열에 대한 참조로 대체됩니다.

예:

int[] array1 = new int[10];
int[] array2 = array1;
Array.Resize<int>(ref array1, 20);

// Now:
// array1.Length is 20
// array2.Length is 10
// Two different arrays.
로그인 후 복사

이 예에서는 Array.Resize()를 호출한 후, array1은 길이가 20인 새 배열을 참조하는 반면 array2는 여전히 길이가 10인 원래 배열을 가리킵니다. 이는 두 배열이 이제 독립적이며 하나를 변경해도 다른 하나는 영향을 받지 않습니다.

대안: 목록 사용

동적 크기 조정이 자주 필요한 경우 배열 대신 목록을 사용하는 것이 좋습니다. . 목록은 필요에 따라 크기를 자동으로 조정할 수 있는 동적 데이터 구조입니다. 배열과 달리 목록은 요소를 추가하거나 제거하여 쉽게 확장하거나 축소할 수 있습니다.

예:

List<int> list = new List<int>();
list.Add(1);
list.Add(2);

// Get the current size of the list
int size = list.Count;
로그인 후 복사

목록을 사용한 동적 크기 조정은 배열보다 훨씬 편리하고 효율적입니다. Array.Resize()를 사용합니다. 그러나 배열에는 특정 작업의 성능이 향상되고 인덱스를 사용하여 요소에 직접 액세스할 수 있는 기능과 같은 고유한 장점이 있습니다. 배열과 목록 사이의 선택은 애플리케이션의 특정 요구 사항에 따라 다릅니다.

위 내용은 C#에서 배열의 크기를 동적으로 조정하려면 Array.Resize() 또는 목록을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿