작업을 하다 보면 데이터에 접근하기 위해 C#Array, ArrayList, List, Dictionary를 자주 접하는데, 어떤 유형의 데이터를 선택해야 합니까? 오늘은 시간을 내어 이 내용을 정리했습니다. 필요하신 분들은 참고하시면 됩니다.
서문
직장에서 데이터에 접근하기 위해 C# 배열, ArrayList, List, Dictionary 등을 자주 접하는데, 초보자로서 데이터를 저장하기 위해 어떤 유형을 선택해야 할지 모르겠습니다. 그래서 사용법과 비교에 대해 자세히 살펴보는 시간을 가져보고, 개선해야 할 사항이 있으면 나중에 업데이트하도록 하겠습니다.
초기화
배열:
int[] buff = new int[6];
ArrayList:
ArrayList buff = new ArrayList();
목록:
List<int> buff = new List<int>();
사전:
Dictionary<int,string> buff = new Dictionary<int,string>;
분석 및 비교
위에서 초기화한 타입들을 보면 모두 reference 타입에 속해 있음을 알 수 있습니다. 그 중 배열, 리스트, 딕셔너리는 초기화 시 요소 유형을 지정해야 하지만, ArrayList는 유형을 지정할 필요가 없습니다. 그리고 그 안에는 배열의 크기만 초기화 중에 설정됩니다.
배열: 초기화 시 크기와 유형을 지정해야 하며, 메모리에 지속적으로 저장되므로 배열의 인덱싱 속도가 매우 빠르다는 것을 알 수 있습니다. 배열의 길이와 유형을 결정한 후에는 데이터를 저장할 배열을 선택하는 것이 더 좋습니다. 삽입 작업에는 적합하지 않습니다.
ArrayList: 초기화 중에 크기와 유형을 지정할 필요가 없습니다. 다양한 데이터 유형을 저장할 수 있지만 저장 및 검색 프로세스 중에 박싱 및 언박싱이 발생하여 성능이 저하됩니다. 삽입하기 쉽습니다.
목록: 초기화 시 유형을 지정해야 하지만 크기를 지정할 필요가 없으므로 ArraryList와 같이 액세스 과정에서 boxing 및 unboxing 작업이 발생하지 않습니다. 동일한 유형의 경우 List와 Array의 성능은 동일합니다. 삽입하기 쉽습니다.
사전: 초기화 중에 유형도 지정해야 하며 키도 지정해야 하며 이 키는 고유합니다. 이 때문에 사전 색인 생성은 매우 빠릅니다. 그러나 Dictionary는 Key를 추가하기 때문에 다른 유형보다 더 많은 메모리 공간을 차지합니다. Key를 통해 요소를 검색하며, 요소의 순서는 불확실합니다.
위 내용은 C#의 배열, ArrayList, List 및 Dictionary의 사용법과 차이점에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!