• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 278
  • Last Modified:

Counting within a loop

I need to count lines in a loop but I can't start counting the lines until my reader or writer sees a ST*.  Once the ST* is found, that would be the first count iteration.  Every line afterwards will be included in the count.  How would I do that?
1 Solution
käµfm³d 👽Commented:
A bit of pseudo-code:

bool sentinelFound = false;
int count = 0;

while (linesRemaining)
    string line = readLine();

    if (line.Contains("ST*")) sentinelFound = true;

    if (sentinelFound) count++;

count--;  // If you need to ignore the line that has ST*; otherwise remove

Open in new window

Or you could use LINQ:

int count = File.ReadLines(@"C:\path\to\your\file.txt")
                .SkipWhile(line => !line.Contains("ST*"))
                .Skip(1) // Ignore the line that contains ST*; if you need that line counted, then remove this line

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now