2014-05-12 3 views
1

List IList를 사용하여 List 유형의 객체를 만드는 이유는 무엇입니까? 인터페이스 IList의 목록 유형의 객체를 생성하는 데 사용됩니다 왜 여기

IList<BankAccountView> bankAccountViews = new List<BankAccountView>(); 

IList의가에 대한 계약입니다 동안,이

List<BankAccountView> bankAccountViews = new List<BankAccountView>(); 
+0

는이 상속 또는 구체적으로는 약 한 프로그래머가 선호하는 선택에 관한 질문인가? – Sayse

+0

상황에 따라 다릅니다. 이 질문에 대한 대답은 하나도 없습니다. 그것은 필드 또는 변수입니까? 너는 그걸로 무엇을하고 있니? 동일한 필드/변수를 다른 방식으로 초기화하는 다른 장소가 있습니까? –

+0

@Sayse 이것은 상속에 관한 것입니다. – Prateik

답변

0

: 그래서 http://msdn.microsoft.com/en-us/library/system.collections.ilist.aspx 여기

상세를 설명하는 좋은 블로그 게시물이다 : MSDN에 정의

IList의 메소드의 세트를 갖는다 컬렉션, List를 취하지 말고 IList, ICollection 또는 IEnumerable을 작성하십시오. System.Object도 T가 될 수 있기 때문에 제네릭 인터페이스는 여전히 이기종 목록에서도 작동합니다. 이렇게하면 Stack이나 다른 데이터 구조를 사용하기로 결정하면 두통을 덜어줍니다. 함수에서 수행해야하는 모든 작업이 foreach 인 경우 IEnumerable은 사용자가 요청해야하는 모든 것입니다.

반면에 함수에서 객체를 반환 할 때 주위에 던지지 않고도 가능한 한 가장 많은 연산 집합을 사용자에게 제공하려고합니다. 따라서이 경우 내부적으로 목록 인 경우 복사본을 목록으로 반환하십시오.

읽기 링크 : When to use IList and when to use List

+0

감사합니다 .. 링크 유용합니다 – Prateik