BY CATEGORY▼
- VIDEOS HOME PAGE
- .NET (14)
- Business Intelligence (40)
- Integration Services (19)
- Macros and Programming (82)
- Microsoft Excel (70)
- Microsoft Office (92)
- Miscellaneous (1)
- Power BI (35)
- Power Platform (35)
- Python (31)
- Report Builder (107)
- Reporting Services (113)
- SQL (42)
- Visual Basic for Applications (215)
- Visual C# (14)
C# CATEGORIES▼
C# PROGRAMMING VIDEOS▼
- C# Part 1 - Installing and Configuring Visual Studio
- C# Part 2 - Working with Projects and Solutions
- C# Part 3 - Drawing Windows Forms
- C# Part 4 - Writing Basic C# Code
- C# Part 5 - Variables and Data Types
- C# Part 6 - If Statements and Conditional Operators
- C# Part 7 - Writing Methods
- C# Part 8 - Switch Statements
- C# Part 9 - While Loops and Do Loops
- C# Part 10 - For Loops
- C# Part 11 - Foreach Loops
- C# Part 12 - Arrays
- C# Part 13 - Lists
- C# Part 14 - Exceptions and Error Handling
C# Programming videos | C# Part 9 - While Loops and Do Loops
Posted by Andrew Gould on 17 November 2014
A While Loop in C# allows your code to repeat a set of instructions while a condition is met. This video starts by teaching you how to write a basic While statement and moves on to explain how to avoid endless loops, how to break out of a loop, how to continue to the next iteration of the loop and also how to use the Do statement to change where your condition is evaluated. The second half of the video demonstrates how to use While loops in a practical context by looping over the lines of a text file - as a bonus you'll learn a little about StreamReaders and how to use basic arrays too!
See our full range of C# training resources.
There are no files which go with this video.
There are no exercises for this video.
Making a video bigger
You can increase the size of your video to make it fill the screen like this:

Play your video (the icons shown won't appear until you do), then click on the full screen icon which appears as shown at its bottom right-hand corner.
When you've finished viewing a video in full screen mode, just press the Esc key to return to normal view.
Improving the quality of a video
To improve the quality of a video, first click on the Settings icon:

Make sure you're playing your video so that the icons shown appear, then click on this gear icon at the bottom right-hand corner.
Choose to change the video quality:

Click on Quality as shown to bring up the submenu.
The higher the number you choose, the better will be your video quality (but the slower the connection speed):

Don't choose the HD option unless you have a fast enough connection speed to support it!
Is your Wise Owl speaking too slowly (or too quickly)? You can also use the Settings menu above to change your playback speed.
Andrew,
Here is part of the code in this video:
while (!clientsFile.EndOfStream)
{
string eachClient = clientsFile.ReadLine();
string[] clientDetails = eachClient.Split('\t');
Am I correct in saying that immediately when the While loop starts, you defined several variables, ie in these two lines:
while (!clientsFile.EndOfStream)
{
string eachClient = clientsFile.ReadLine();
you declared a variable called eachClient of type String?
The reason for my confusion is in VBA, I make a point never to declare variables within loops, be it a Do While or For Next loop, such as:
For i = 1 to 10
Dim s As String
' rest of the code
Next i
the reason being for each iteration, the variable s is "reset".
Is there another way to declare the variables in C# or is it perfectly acceptable?
Further to Andy's answer, declaring variables within blocks of code is more about controlling the scope of the variable in C#. Declaring a variable within a code block means that it's inaccessible outside of the block. There's a simple example of that here https://docs.microsoft.com/en-us/learn/modules/csharp-code-blocks/2-exercise-variable-scope
Replying on behalf of Andrew - not just perfectly acceptable, but standard practice. In VBA you declare variables by convention at the start of the procedure in which they're used (although you don't have to). In C# by convention you declare variables just before they're used. You're correct that it is slightly inefficient, as the program has to replace one variable s with another each time, rather than re-using one you've declared up-front. Whether this makes any difference to processing time I couldn't say, but since C# is compiled I suspect not. If there is one, it will be minuscule.