Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

4.2. Samengestelde Toekennings Operatoren

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

Tot nu toe hebben we steeds de assignmentoperator = gebruikt, maar ook andere assignmentoperators bestaan.

Om op een verkorte wijze een bepaalde rekenkundige bewerking op een numerieke variabele toe te passen samen met het toekennen van de berekende waarde aan die numerieke variabele bestaan een aantal verkorte toekenningsoperatoren :

Bijvoorbeeld += :
value += 1
is gelijk aan
value = value + 1
Analoge samengestelde operatoren voor rekenkundige bewerkingen zijn -=, *=, /=, \= en ^=.
Visual Basic 2012 Broncode - Codevoorbeeld 77
Module CompoundAssignmentOperatorsExample1
    Sub Main()
        Dim value As Integer = 2
        '
        value *= 3 + 4                                                     ' (1)
        '
        Console.WriteLine(value)
        '
        Console.ReadLine()
    End Sub
End Module
Console Application Output
14
Regel (1) kan dus herschreven worden naar :
value = value * (3 + 4)
Ook voor de string-concatenatie-bewerking bestaat een samengestelde operator, namelijk &= :
Visual Basic 2012 Broncode - Codevoorbeeld 78
Module CompoundAssignmentOperatorsExample2
    Sub Main()
        Dim message As String = "Hello"
        '
        message &= " World !"
        '
        Console.WriteLine(message)
        '
        Console.ReadLine()
    End Sub
End Module
Console Application Output
Hello World !
Verderop gaan we nog zien hoe er ook nog samengestelde toekenningsoperatoren bestaan als >>= en <<=.

4.2.1. Oefening

Opgave :
Wat zal de output zijn van onderstaande programma-code ?
Visual Basic 2012 Broncode - Codevoorbeeld 79
Module CompoundAssignmentOperatorsExercise
    Sub Main()
        Dim value1, value2, value3 As Integer
        '
        value1 += 5
        value2 -= value1 * 6 + 1
        value3 += value1 + 5 * value2
        value3 *= value3 / -3
        value1 /= 1 / (value2 + 41)
        value2 \= 10 + value1 / 5
        '
        Console.WriteLine(value1) ' ?
        Console.WriteLine(value2) ' ?
        Console.WriteLine(value3) ' ?
        '
        Console.ReadLine()
    End Sub
End Module
Oplossing :
Visual Basic 2012 Broncode - Codevoorbeeld 80
Module CompoundAssignmentOperatorsSolution
    Sub Main()
        Dim value1, value2, value3 As Integer
        '
        value1 += 5
        ' value1 = value1 + 5
        '         = 0 + 5
        '         = 5
        value2 -= value1 * 6 + 1
        ' value2 = value2 - (value1 * 6 + 1)
        '         = 0 - (5 * 6 + 1)
        '         = 0 - (30 + 1)
        '         = -31
        value3 += value1 + 5 * value2
        ' value3 = value3 + (value1 + 5 * value2)
        '         = 0 + (5 + 5 * -31)
        '         = 0 + (5 + -155)
        '         = 0 + -150 = -150
        value3 *= value3 / -3
        ' value3 = value3 * (value3 / -3)
        '         = -150 * (-150 / -3)
        '         = -150 * 50
        '         = -7500
        value1 /= 1 / (value2 + 41)
        ' value1 = value1 / (1 / (value2 + 41))
        '         = 5 / (1 / (-31 + 41))
        '         = 5 / (1 / 10)
        '         = 50
        value2 \= 10 + value1 / 5
        ' value2 = value2 \ (10 + value1 / 5)
        '         = -31 \ (10 + 50 / 5)
        '         = -31 \ (10 + 10)
        '         = -31 \ 20
        '         = -1
        '
        Console.WriteLine(value1) ' 50
        Console.WriteLine(value2) ' -1
        Console.WriteLine(value3) ' -7500
        '
        Console.ReadLine()
    End Sub
End Module
Console Application Output
50
-1
-7500

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.