Čo si myslíte, čo vypíše na obrazovku toto (VB.NET):
Dim a As Integer = 5
a = IIf(a = 7, a = 6, a = 5)
MsgBox(a)
Pre väčšinu to zrejme bude ľahké, ja len tak zo srandy... Ale nepodvádzať - neprepisovať do VB!!! Napíšte to z hlavy!!! ;)
Prasácký příkazy z předchozích verzí VB neznám, ale tipnu si ... bude to 5. Myslím, že se jedná o podobu ternárního operátoru, ale nejsem si jistej.
To mylan4: jak řikám, je to tip ... nevim, jak funguje, neznám pravidla syntaxe VB
To Joe: jo, je to možný, že jde o užitečnou funkci, ale dle mého názoru jde o prasárnu, protože to pochází z předchozích verzí VB a do .NETu se podlě mě nic podobnýho nemělo dostat ;) ale je to jen můj názor
To Joe: VB ma jednu nevyhodu, nema rozliseny operator priradenia a porovnavaci operator ako ine jazyky (napr = a ==, alebo := a =).
Jednoducho je to takto: v príkaze a = IIf(a = 7, a = 6, a = 5) sa za a dosadi 5, 5=7 je False, takze a = a=5. Prve = je op. priradenia, druhe = je porovnavaci operator, takze kedze a=5 je True, do a sa priradi True, a=True. Kedze a je Integer, Boolean treba pretypovat na Integer. Vo vacsine jazykov je to tusim 1, ale vo VB je to pre False 0 a pre True -1, takze preto a=-1. Kto by mi neveril, ze True sa prekonvertuje ako -1, skuste toto:
Dim i As Integer = CType(True, Integer)
MsgBox(i)
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku