homeboekenlinksledenabonneer je :Blijf op de hoogte door je te abonneren op de vbvoorbeelden RSS Niews Feed!Blijf op de hoogte door vbvoorbeelden te volgen op Twitter!Blijf op de hoogte door fan te worden van vbvoorbeelden op Facebook!
Visual Basic 2008 en 2010 Voorbeelden en Boeken Microsoft Visual Studio 2010Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

visual basic 2008 voorbeelden en boeken / visual basic 2010 voorbeelden en boeken

7.9. Array Initializers

Print Email Deel op FacebookDeel op TwitterDeel op DiggBookmark op Google BookmarksDeel op del.icio.usOverige Sociale Netwerksites...

Dit artikel is gepubliceerd op woensdag 28 april 2010 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

Bij het declareren van een arrayvariabele zonder het dimensioneren van de array ( zonder opgeven van een upperbound ) kan men de array gaan initialiseren. Die doet men aan de hand van een "array initializer", wat een opsomming is tussen accolades ( {...} ) van de elementenwaarden.
Visual Basic Broncode
Module Example
    Sub Main()
        Dim indexFirstDimension As Integer
        Dim indexSecondDimension As Integer
        Dim indexThirdDimension As Integer
        '
        Dim row() As Integer = {1, 2, 3, 4, 5, 6}
        For indexFirstDimension = 0 To 5
            Console.Write(row(indexFirstDimension) & " ")
        Next
        Console.WriteLine()
        '
        Dim matrix(,) As Integer = {{1, 2, 3, 4, 5, 6}, _
                                    {7, 8, 9, 10, 11, 12}}                 ' (1)
        For indexFirstDimension = 0 To 1
            For indexSecondDimension = 0 To 5
                Console.Write(matrix(indexFirstDimension, _
                                     indexSecondDimension) & " ")
            Next
        Next
        Console.WriteLine()
        '
        Dim cube(,,) As Integer = {{{1, 2, 3}, _
                                    {4, 5, 6}}, _
                                   {{7, 8, 9}, _
                                    {10, 11, 12}}, _
                                   {{13, 14, 15}, _
                                    {16, 17, 18}}, _
                                   {{19, 20, 21}, _
                                    {22, 23, 24}}}                         ' (2)
        For indexFirstDimension = 0 To 3
            For indexSecondDimension = 0 To 1
                For indexThirdDimension = 0 To 2
                    Console.Write(cube(indexFirstDimension, _
                                       indexSecondDimension, _
                                       indexThirdDimension) & " ")
                Next
            Next
        Next
        '
        Console.ReadLine()
    End Sub
End Module
Visual Basic Output
1 2 3 4 5 6
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Zoals uit regel (1) en (2) blijkt kan je ook meerdimensionale arrays initialiseren. Hierbij moet je de waarden voor de verschillende dimensies opnieuw tussen accolades ( {...} ) plaatsen.

Men somt de waarden eigenlijk op zoals ze ook in het geheugen zitten gestockeerd ( oplopend per laatste dimensie ) :

row :
1st index : 0 1 2 3 4 5
    value : 1 2 3 4 5 6
matrix :
1st index : 0 0 0 0 0 0 1 1 1 1  1  1
2nd index : 0 1 2 3 4 5 0 1 2 3  4  5
    value : 1 2 3 4 5 6 7 8 9 10 11 12
matrix :
1st index : 0 0 0 0 0 0 1 1 1 1  1  1  2  2  2  2  2  2  3  3  3  3  3  3
2nd index : 0 0 0 1 1 1 0 0 0 1  1  1  0  0  0  1  1  1  0  0  0  1  1  1
3rd index : 0 1 2 0 1 2 0 1 2 0  1  2  0  1  2  0  1  2  0  1  2  0  1  2
    value : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

7.9.1. Oefening

Opgave :

Maak een programma dat steeds een positief geheel getal ( 0 < getal < 4000 ) inleest en omzet naar een Romeins getal.

Hieronder zie je de gebruikte symbolen en symbolen-combinaties :
I = 1, IV = 4, V = 5, IX = 9, X = 10, XL = 40, L = 50, XC = 90, C = 100, CD = 400, D = 500, CM = 900, M = 1000
Visual Basic Output
Value ?
-1
Value ?
4000
Value ?
1
I
Value ?
3999
MMMCMXCIX
Value ?
2789
MMDCCLXXXIX
Value ?
Oplossing :
Visual Basic Broncode
Module ExerciseSolution
    Sub Main()
        Dim symbols() As String = _
         {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}
        Dim units() As Integer = _
                          {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}
        '
        Dim value, index As Integer
        Do
            Do
                Console.WriteLine("Value ?")
                value = Console.ReadLine()
            Loop Until value < 4000 AndAlso value >= 0
            For index = 0 To 12
                Do While value >= units(index)
                    Console.Write(symbols(index))
                    value -= units(index)
                Loop
            Next
            Console.WriteLine()
        Loop
    End Sub
End Module

Dit artikel is gepubliceerd op woensdag 28 april 2010 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

Visual Basic 2008 & 2010 Boeken

Het Groene Visual Basic 2008 & 2010 Voorbeelden Boek Het Blauwe Visual Basic 2008 & 2010 Voorbeelden Boek Het Rode Visual Basic 2008 & 2010 Voorbeelden Boek

Bevalt een artikel je, dan kan je de inhoud van vbvoorbeelden ook reclamevrij in boekvorm verkrijgen.

De inhoud is verdeeld over 3 boeken, Het Groene, Het Blauwe en Het Rode Visual Basic 2008 & 2010 Voorbeelden Boek.

Klik hier voor meer informatie.

Berichten

Fast UML Sequence Diagram Editor