답변
ArrayList
를 사용하는 주요 시간이 .NET에 비해 1.1
다른이며, List<T>
모든 방법 (해당 지역 T
) ... 사람들을 위해
(희귀) 유형을 알지 못하는 경우 (제네릭을 사용할 수없는 경우) List<object>
도 ArrayList
(IMO)보다 도움이됩니다.
List는 제네릭 클래스이므로 항상 List를 사용하는 경향이 있습니다.
ArrayList는 .NET 1.x 클래스 (여전히 유효하지만 &은 유효 함)이지만 'typed'/ generic이 아니므로 'object'항목을 원하는 유형으로 다시 캐스팅해야합니다. 목록을 사용할 때는 그렇게하지 않아도됩니다.
TypeSafe이고 ArrayList
(불필요한 권투/언 박싱 없음)보다 빠르기 때문에 항상 List<TypeOfChoice>
(제네릭과 함께 .NET 2.0에 도입)을 사용해야합니다.
내가 ArrayList를 사용할 수있는 경우를 생각할 수있는 유일한 경우는 오래된 항목 (.NET 1.1)과 인터페이스해야하거나 다른 유형의 개체 배열이 필요하고 개체를 모두로드해야하지만 일반적으로 더 나은 List<Object>
으로 후자를 수행 할 수 있습니다.
+1 왜 설명을 위해 * 왜 * 목록을
가능한 경우 목록을 사용하십시오. 고성능 List가 존재하는 경우 ArrayList에 어떤 사용도 표시되지 않습니다.
다른 말로. List 타입을 사용해야합니다. 거의 항상 타입을 알고 있어야합니다 (C#은 강력한 타입의 언어입니다). 그리고 다형성/상속 클래스 나 다른 것들을 할 때 다른 방법을 사용해야합니다.
ArrayList는 이전 .NET 데이터 구조입니다. .NET 2.0 이상을 사용하는 경우 배열에서 동일한 유형의 항목을 보유해야하는 경우 항상 List를 사용하십시오. ArrayList를 통해 List를 사용하면 성능과 유용성이 향상됩니다.
Linq 쿼리를 사용하지 않으려면 List를 사용할 필요가 없습니다. 당신이 그 때 그것을 사용하고 싶은 경우에 당신은 명부를 선호해야한다.
Generics는 .Net 2.0에서 도입되었습니다. 이전 버전의 .Net을 사용하고 있다면 Array List를 사용할 수 있습니다. 그렇지 않으면 일반 목록 자체와 함께 갈 수 있습니다. Array List는 더 이상 사용되지 않으며 더 나은 유형 안전을 제공하지 않으며 또한 boxing 및 unboxing 문제를 만듭니다. 그러나 Generic List는 그렇지 않습니다.
+1 매우 빠릅니다! :) –
더 재미있는 일을 할 수 있을까? - ArrayList eugh :) – annakata
"ArrayList [침]"는 어떻습니까? -p –