2010-08-28 9 views
1

Actuellement, permet de dire que j'ai ce code:Comment ajouter Ou à une boucle While dans VB?

 While r <> "HI" 
     r = RandomStringGenerator(1) 
     time = time + 1 
     Console.WriteLine(r) 
    End While 

comment puis-je faire pour que je puisse dire essentiellement ceci:

While r <> "HI" Or While r <> "BY" 
     r = RandomStringGenerator(1) 
     time = time + 1 
     Console.WriteLine(r) 
    End While 

J'ai alreadly essayé:

While r <> "HI" Or r <> "BY" 
     r = RandomStringGenerator(1) 
     time = time + 1 
     Console.WriteLine(r) 
    End While 

Mais ça ne marche toujours pas! Qu'est-ce qui se passe avec ça?

Répondre

2

La façon dont vous avez écrit votre conditionnel sera toujours vraie et la boucle ira infiniment.

r <> "HI" Or r <> "BY" 

Ce dit essentiellement

Si r est pas égal à « Salut » ou r est pas égal à « Par »

Ce sera vrai pour chaque chaîne existe . On dirait que vous voulez continuer si la chaîne n'est ni "hi" ni "by". Dans ce cas les opérations suivantes

While r <> "HI" AndAlso r <> "BY" 
    r = RandomStringGenerator(1) 
    time = time + 1 
    Console.WriteLine(r) 
End While 

Un dernier point mineur est que vous devriez préférer OrElse à la plaine Or et AndAlso à la plaine And. Les versions antérieures sont à la fois des opérations de court-circuitage ou non.

+0

Merci !!!!!!!!!!!!!!!!!!!!! – user419076

Questions connexes