VB.Net에서 IEnumerable 유형의 정수 배열에 값을 할당하려면 어떻게해야합니까?IEnumerable 유형의 정수에 값 할당
이 난을 추가해야
dim id as integer=obj.id
배열
dim arr As IEnumerable(Of Integer)
VB.Net에서 IEnumerable 유형의 정수 배열에 값을 할당하려면 어떻게해야합니까?IEnumerable 유형의 정수에 값 할당
이 난을 추가해야
dim id as integer=obj.id
배열
dim arr As IEnumerable(Of Integer)
수 없습니다. IEnumerable(Of T)
은 열거 형의 값을 변경하기위한 메서드 나 속성을 제공하지 않습니다.
변수 arr
이 IEnumerable
이어야한다고 생각하는 이유를 생각해보십시오. 다른 곳에서 IEnumerable
인스턴스를 얻을 경우
IEnumerable
인터페이스 모든 것을 뒤로 숨어 전에 값 을 추가 할 수있는, 어쨌든 구체적인 목록 클래스를 인스턴스화 할 필요가 있습니다, 어떤 이유로 IEnumerable
로 arr
를 선언 할 경우에도 접속하다.당신은 할 수 없습니다에. IEnumerable은 인터페이스이며 특정 클래스를 나타내지 않습니다.
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)
당신이 의미하는 바를 잘 모름 - 배열의 모든 항목에 그 값을 추가 할 의향이 있습니까? – Deeko