user1784476
user1784476

Reputation: 99

C# StreamReader input files from labels?

I have been using a StreamReader inputFile code from a ListBox and it works great, However, I would like to input the data from the .txt file into a Label box instead, is this possible? This is the code I tried and it gives me an error description stating

Use of unassigned local variable 'total'

 

private void Form1_Load(object sender, EventArgs e)
{
  try
  {
      int total = 0; 
      int highScore;
      StreamReader inputFile;
      inputFile = File.OpenText("HighScore.txt");
      while (!inputFile.EndOfStream)
      {
          highScore = int.Parse(inputFile.ReadLine());
          total += highScore;
      }
      inputFile.Close();
      highscoreLabel.Text = total.ToString("c");
  }
  catch (Exception ex)
  {
      MessageBox.Show(ex.Message);
  }
}

Upvotes: 2

Views: 867

Answers (2)

CRoshanLG
CRoshanLG

Reputation: 498

The error is not in the code!
It is in the format of the text file! If there are any characters other than integers, the code will generate this error - " Input string was not in correct format" (I guess by int.Parse() method!)

Upvotes: 1

Marc Gravell
Marc Gravell

Reputation: 1062502

The message you are seeing ("Use of unassigned local variable 'total'") relates to "definite assignment", which would be the scenario:

int total; // note not yet assigned a value

...

total += {whatever}

However, in the code you post, it is definitely assigned (initialized to zero). Therefore, I suspect that either the error message has been mis-copied, or the code sample is not a direct copy of the failing case.

Upvotes: 3

Related Questions