2014-05-09 3 views
0

좋아, 기본적으로 사용자가 이름과 점수를 입력 할 수있는 성적 책을 만들어야합니다 (예 : 5 가지 시험 점수, 일부 정해진 금액). 텍스트 상자를 통해 입력되고 목록 상자에 표시됩니다. (기본적으로 그게 전부입니다.)Visual Basic - 실행 중 새 배열 만들기?

지금하고 싶은 것은 새로운 학생이있을 때마다 값을 덮어 쓰지 않고 배열 안에 저장하고 싶습니다. 나는 내가를 클릭하면, 버튼 클릭, 그것은 여전히 ​​매번 덮어 쓸 것이다라고, 이벤트 후 정수

으로

희미한 studentArray 같은 것을() 할 수 있다면 문제는, 버튼?

어쨌든이 문제가 발생했는지 궁금합니다. 교수님은 입력 된 이름을 배열 이름으로 사용하여 버튼을 클릭 할 때마다 변수 이름이 변경되어 계속 덮어 쓰지 않도록 할 것을 제안했습니다.

하지만 어떻게해야할지 모르겠다.

사전에

EDIT 감사 : 내가 대신 2 차원 배열에 최선을 다하는에 대해 생각했다. 첫 번째 열은 학생들의 이름이되고 나머지는 다른 것입니다. 그게 좋은 생각일까요? (현재 시험 횟수는 5 회 이하라고 가정 할 수 있습니다. 따라서 학생들의 금액도 마찬가지입니다.)

+0

나는 당신의 요구를 이해했는지 모르겠지만'List (Of Integer) '를 대신 사용할 수는 없으며 언제나 새로운 값을 끝에 추가 할 수 있습니까? 그러나, 대신 학생의 모든 관련 정보를 보유하는 클래스를 사용하도록 제안합니다. 'List (Of Student) '에 저장할 수 있습니다. 'Grades'는 'List (Of Integer)'또는 'Integer()'인 'Student'의 속성이됩니다. –

+0

죄송합니다. 저는 VB에 처음 온 사람입니다. List (Of Integer)? 구조를 의미합니까? –

+0

아니요 .NET에서 구조체/구조체를 사용해야 할 이유는 거의 없습니다. http://msdn.microsoft.com/en-us/library/ms229017(v=vs.110).aspx –

답변

0

Dictionary (Of string, integer())를 사용할 수 있습니다. 그리고 배열을 사전에 추가하십시오. 예를 들어,

Dim dicStudentArrays As New Dictionay(Of String, Integer()) 

가 입력 된 이름을 배열

studentArray = dicStudentArrays.Item (SNAME)

에게 검색
dicStudentArrays.Add(sName, studentArray) 

에게 SNAME에게되는 배열을 추가하는 사전을 만들

실행 중에 코드의 변수 이름을 변경하는 것이 보이지 않습니다.

+0

자, 고마워. 나는 그것을 지금 시도 할 것이다. –

+0

하나의 특정 배열에 값을 더 추가하거나 편집 할 수 있습니까? studentArray (index) = 90 같은 것을 할 수 있습니까? –

+0

질문을 이해할 수 있을지 모르겠지만 사전에 원하는만큼 요소 (이 경우 배열)를 추가 할 수 있습니다. 배열에 요소를 더 추가하려면 ReDim Preserve studentArray (maxNumber)를 항상 사용할 수 있습니다. – xavigonza

관련 문제