06needhamt
06needhamt

Reputation: 1605

skip value in for loop if it = 0 c#

how to skip writing the value to the file if it = 0 in my calculator program

Procedure that writes the array into a file

 public void SaveArrayToFile()

        {
            int count;
            var writer = new System.IO.StreamWriter("C:/calc/calculations.txt",false);
            for (count = 0; count <= Results.Length -1 ; count++)
            {
                if (Results[count] == 0)
                {
                    // problem
                }
                writer.Write(Results[count]);
                writer.WriteLine();
            }
            writer.Dispose();

Any help would be valued

Upvotes: 2

Views: 3741

Answers (5)

p.s.w.g
p.s.w.g

Reputation: 149020

That's exactly what the continue statement is for.

if (Results[count] == 0)
{
    continue;
}

You could also solve this problem using Linq:

foreach (var result in Results.Where(r => r != 0))
{
    writer.Write(result);
    writer.WriteLine();
}

Upvotes: 6

Hossein Narimani Rad
Hossein Narimani Rad

Reputation: 32481

Use the continue

//your code

if (Results[count] == 0)
{
    continue;
}

//your code

More (Jump Statement):

  • To terminate the loop use the break keyword.
  • To escape the current iteration use continue

Upvotes: 4

Moondustt
Moondustt

Reputation: 884

simply:

if (Results[count] != 0)
{
       // Write it.
}

Upvotes: 3

djs
djs

Reputation: 230

if (Results[count] != 0)
{
  writer.Write(Results[count]);
  writer.WriteLine();
}

Upvotes: 5

Ben Voigt
Ben Voigt

Reputation: 283684

Either

if (Results[count] == 0)
{
    continue;
}
writer.WriteLine(Results[count]);

or even simpler

if (Results[count] != 0)
{
    writer.WriteLine(Results[count]);
}

Upvotes: 12

Related Questions