Solved

# Breaking from a do loop when a condition is not met

Posted on 2014-01-26
289 Views
I need to continue a do loop until a condition is met:

// Get random Flop1 card
string strImageName = "";
int intCardNumber = 0;
do
{
Random random = new Random();
intCardNumber = random.Next(1, 27);
strImageName = arrCards[intCardNumber, 0] + "Full";

// if condition 1 is true or condition 2 is true, then break out of the loop.
// condition 1 (txtHole1.Text != strImageName)
// condition 2  (txtHole2.Text != strImageName)

if ((txtHole1.Text != strImageName) || (txtHole2.Text != strImageName)) // Make sure that Hole1 or Hole2 and strImageName are not the same
{
break;  // do not get a new random number.
}
} while ((txtHole1.Text != strImageName) || (txtHole2.Text != strImageName));

// Does not break when Condition 1 or Condition 2 is false.

Thanks,
0
Question by:Dovberman
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 3

LVL 40

Accepted Solution

Jacques Bourgeois (James Burger) earned 500 total points
ID: 39810360
You must think like a computer.

What is OR for you should often be translated to AND for the computer.

What you are doing is to loop as long as one of the conditions is true. So if only one is false, the loop goes on.

What your need to do is to loop as long as both are true. So when one is false, the loop will stop.

Replace || by &&.
0

Author Comment

ID: 39810384
if ((txtHole1.Text != strImageName) && (txtHole2.Text != strImageName)) // Make sure that Hole1 or Hole2 and strImageName are not the same
{
break;  // do not get a new random number.
}
} while ((txtHole1.Text != strImageName) && (txtHole2.Text != strImageName));

Yes, this makes sense.  I will try it and give you feedback.

Thanks,
0

Author Comment

ID: 39810409
Yes, that works.

Thanks,
0

Author Closing Comment

ID: 39810410
Thanks
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
###### Suggested Courses
Course of the Month5 days, 13 hours left to enroll