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
을 추가하려고 할 때마다 컴파일 타임 오류를 제공합니다.
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