ArrayList 대 C#의 목록

Muhammad Maisam Abbas 2023년10월12일
  1. C#의 ArrayLists
  2. C#의 목록
  3. ArrayLists vs Lists in C#
ArrayList 대 C#의 목록

이 자습서에서는 C#의 ArrayList와 List 간의 차이점과 유사점에 대해 설명합니다.

C#의 ArrayLists

ArrayList클래스는 C#에서 ArrayList를 선언하는 데 사용됩니다. ArrayList는 객체 참조를 저장합니다. 이것은ArrayList가 정수, 문자열, 부동 소수점 등과 같은 여러 데이터 유형의 데이터를 저장할 수 있음을 의미합니다. 다음 코드 예제는 C#에서ArrayList를 초기화하는 방법을 보여줍니다.

ArrayList array1 = new ArrayList();
array1.Add(1);
array1.Add("Pony");
foreach (var x in array1) {
  Console.WriteLine(x);
}

출력:

1
Pony

위 코드에서ArrayList클래스-array1의 인스턴스를 생성하고 다른 데이터 유형의 다른 값을 저장했습니다.

C#의 목록

일반 목록은 C#의 특정 데이터 형식에 대한 데이터를 보관하는 데 사용됩니다. List클래스는 C#에서 특정 데이터 유형의 목록을 선언하는 데 사용됩니다. 선언 중에 목록의 데이터 유형을 지정해야합니다. 다음 코드 예제는 C#에서List를 초기화하는 방법을 보여줍니다.

List<int> list1 = new List<int>();
list1.Add(1);
list1.Add(2);
foreach (var x in list1) {
  Console.WriteLine(x);
}

출력:

1
2

위 코드에서 정수 데이터 유형과 저장된 정수 값을 보유하는List클래스-list1의 인스턴스를 작성했습니다.

ArrayLists vs Lists in C#

List클래스는ArrayList클래스의 캐스팅 오버 헤드 때문에 항상ArrayList클래스보다 선호되어야합니다. List클래스는ArrayList클래스 요소의 다른 데이터 유형으로 인해 직면하는 런타임 오류로부터 우리를 구할 수 있습니다. 이 목록은 Linq에서 매우 사용하기 쉽습니다. 배열 목록의 문제는 다음 코딩 예제에 나와 있습니다.

ArrayList arrayExample = new ArrayList();
arrayExample.Add(2);
arrayExample.Add("DelftStack");
int total = 0;
foreach (int num in arrayExample) {
  total += num;
}

위의 코드는 배열 목록에DelftStack값을 추가 할 때 컴파일 중에 오류가 발생하지 않습니다. 그러나DelftStack을 정수 변수num으로 캐스트하려고하기 때문에 런타임 오류가 발생합니다. 배열 목록 대신 목록을 사용하면 문제를 피할 수 있습니다.

List<int> listExample = new List<int>();
listExample.Add(1);
listExample.Add(2);
int total = 0;
foreach (int num in listExample) {
  total += num;
}

위의 코드는 오류없이 완벽하게 실행됩니다. 목록은 정수 데이터 유형의 값만 보유하는 목록에DelftStack을 추가하려고 할 때마다 컴파일 타임 오류를 제공합니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Csharp List