2013-07-26 4 views
0

VB.Net에서 IEnumerable 유형의 정수 배열에 값을 할당하려면 어떻게해야합니까?IEnumerable 유형의 정수에 값 할당

이 난을 추가해야

dim id as integer=obj.id 

배열

dim arr As IEnumerable(Of Integer) 
+0

당신이 의미하는 바를 잘 모름 - 배열의 모든 항목에 그 값을 추가 할 의향이 있습니까? – Deeko

답변

1

수 없습니다. IEnumerable(Of T)은 열거 형의 값을 변경하기위한 메서드 나 속성을 제공하지 않습니다.

변수 arrIEnumerable이어야한다고 생각하는 이유를 생각해보십시오. 다른 곳에서 IEnumerable 인스턴스를 얻을 경우

  • , 당신은 다음list해당 열거의 내용을 추가 목록에 추가 값을 추가 할 수 있습니다.
  • 또는, 당신은 당신이 나중에 읽기 전용의 IEnumerable 인터페이스 모든 것을 뒤로 숨어 전에 값 을 추가 할 수있는, 어쨌든 구체적인 목록 클래스를 인스턴스화 할 필요가 있습니다, 어떤 이유로 IEnumerablearr를 선언 할 경우에도 접속하다.
1

당신은 할 수 없습니다에. IEnumerable은 인터페이스이며 특정 클래스를 나타내지 않습니다.

1

IEnumerable은 인터페이스이므로 초기화 할 수 없습니다. List와 같은 구체적인 유형을 인스턴스화하고 IEnumerable과 같은 추상 유형으로 선언을 유지해야합니다. 이렇게하면 쓰기 작업에서 컬렉션을 보호 할 수 있지만 원하는 경우 컬렉션을 값을 추가하거나 제거 할 수있는 구체적인 유형으로 캐스팅해야합니다. 견본을 위해 :

'get value 
Dim id as Integer = obj.id 

' create your collection and init it with a concrete type 
Dim arr As IEnumerable(Of Integer) = new List(Of Integer) 

'add in your collection 
CType(arr, List(Of Integer).Add(id) 
관련 문제