2013-10-14 1 views
2

그것은 간단한 질문입니다 - 인덱스를 VB.NET에서 1부터 시작하여 객체 배열을 만드는 방법은 무엇입니까?1 인덱스 기반 배열을 만드는 방법

범위를 Excel 스프레드 시트에 다시 쓰려면 개체가 필요하며 1 기반 인덱싱 만 허용됩니다. 내가 엑셀의 범위를 읽을

은 자동 VB.NET에서 1 기반의 객체를 생성,하지만 난 또 다른 객체를 생성하려고 할 때, 그것은 나를 1.

+0

왜 0 기반 인덱스에 null 값을 채우지 않는가? –

+0

xlObject.Range ("myrange") = VBNETObj에는 1 기반 개체가 필요하기 때문입니다. 실제로 Excel에서 이전에 읽은 개체를 복사 할 수 있으며 1부터 시작하는 인덱스이지만 새 인덱스를 만들 수는 없습니다. – user2723490

+0

볼 수 있습니다. 나는 System.Collections.CollectionBase에서 상속받은 사용자 지정 클래스를 작성합니다. http://msdn.microsoft.com/en-us/library/xth2y6ft(v=vs.71).aspx –

답변

2
로하여 LBound을 설정하는 것을 허용하지 않습니다

Array.CreateInstance을 사용하여 원하는 것을 얻을 수 있습니다.

' create an array of 10 items with lower bound index of 1 
    Dim arrayStartingWith1 As Array = Array.CreateInstance(GetType(Integer), New Integer(0) {10}, New Integer(0) {1}) 

    ' this is now incorrect 
    ' arrayStartingWith1(0) = 1 

    ' this is correct 
    arrayStartingWith1(1) = 1 
    arrayStartingWith1(10) = 1 
+0

코드를 복사하여 붙여 넣을 때 코드에 오류가 있습니다. – dbasnett

+0

s/b .SetValue 및 .GetValue – dbasnett

+0

@dbasnett 어느 행이 있습니까? – Szymon