2012-03-16 2 views
1

VB.NET에서는 여러 형식의 데이터가 형식 (아래 참조)과 같은 배열에 저장된 복잡한 데이터 구조를 만들고 싶습니다.여러 데이터 형식을 VB.NET의 단일 통합 데이터 구조로 결합

[Name; xLoc; yLoc; zLoc; [Jagged Array]] 

참고 :

는 이런 모양 일 데이터 구조를 만들려고하고 있어요 이름은 정수로 등 문자열, XLOC로 치수 할 필요가있다. 들쭉날쭉 한 배열은 다음과 같이 보일 것이다 :

[xVel; yVel; zVel] 

참고 :

[Array1;Array2;...] 

각 배열 내의과 같을 것이다 위의 벡터의 각 값은 정수가 될 것입니다.

그것의 데이터와이 데이터 구조의 예는 다음과 같습니다

[Ship1; 15; 16; 25; [[2;3;0];[5;0;7];[6;2;1]]] 

는 기본적으로 나는 동일한 구조에 저장된 데이터의 여러 유형의 가변 배열을 만들려고합니다. VB.NET은 이런 종류의 구조를 지원합니까? 나는 VB.NET에 대해 경험이별로 없기 때문에 VB에서 똑같은 일을 할 수있는 데이터를 구조화하는 훨씬 더 효율적인 방법이있을 것입니다. 어떤 아이디어 나 비평과도 자유롭게 의견을 말하십시오.

답변

2

System.Collections.Generic.List(Of Object)을 사용할 수 있지만 목록에서 값을 검색 할 때 유형을 추적해야합니다.

호기심에서 왜 다른 유형을 같은 목록에 함께 저장 하시겠습니까?

일을 쉽게하기 위해 System.Collections.Generic.List

 
Dim x as new List(of Object)() 

x.Add(element) 'given an element, all objects inherit from Object 
x.Add(new Int32({1,2,3,4,5}) 
x.AddRange(array) 'append an array's contents 

Dim retrievedValue as int32() = x(1) ' here, I needed to remember what I stored at what indice. 

를 사용하려면, 나는 일반적으로 이런 종류의 일을하지 않을 것입니다. 형식 안전성을 잃어 버리고 검색된 값을 암시 적으로 캐스팅해야하지만 원하는 경우 언어로 수행 할 수 있습니다.

내가 작업중인 데이터를 나타내는 클래스를 작성하는 방법에 대해 생각할 것입니다. 클래스가 너무 무거 우면 저장할 키를 공유하는 강력한 유형의 Dictionary() 객체가 int32()와 string_mapint_array_map의 문자열을 각각 말합니다.

예를 들어, 사전은 강하게 입력 할 수있는 KeyValuePairs에 요소를 저장합니다.

 
Dim dict as new Dictionary(of string, List(of int32))() 
dict.Add('myname', new List(of Int32)({1,2,4,5,6,7}) 

그래서 dict('myname')는 INT32의 강력한 형식의 목록을 검색합니다.

저는 여기 어둠 속에서 찔러보고 있습니다 만, .NET에는 몇 가지 유용한 컬렉션 클래스가 있습니다. System.Collections.Generic 네임 스페이스를 읽는 것이 좋습니다.

+0

값을 서로 연관시켜야하며 가치에 대한 백만개의 개별 차원 이름을 추적하고 싶지 않습니다. 예를 들어 위의 데이터 구조는 추적하고 싶은 30 가지 항목을 나타냅니다. 각 30 개의 배열에있는 모든 요소는 서로 관련되어 있고 다른 요소와 각각 관련되어 있습니다. 이를 각 배열이 테이블의 행을 나타내는 Excel 스프레드 시트를 추적하는 방법으로 생각하십시오. 이 문제에 대해 더 좋은 방법이 있다면 알려주십시오. – iwishiwasacodemonkey

+0

또한 어떻게 구조를 구현합니까? – iwishiwasacodemonkey

+0

흠, 사전을 사용하면 모든 유형 (이 경우 정수)의 데이터 구조를 만들고 각 사전을 문자열 이름으로 참조 할 수 있습니까? 그게 정확히 필요한 것 같아. 그래도 사전과 나는 데이터를 저장하는 방법을 정의하기 때문에 많은 'myname'값을 가진 하나의 사전을 정의 할 수있다. 또는 참조 할 새로운 'myname'값을 원할 때마다 새로운 사전을 만들어야한다. 정수 목록으로. – iwishiwasacodemonkey

관련 문제