C# Неназначенная локальная переменная? - PullRequest
0 голосов
/ 22 февраля 2020

Как исправить ошибку: «неназначенная локальная переменная» для оценки? Я пытался использовать publi c и приватные префиксы до 'string', но это не сработало. Может кто-нибудь объяснить, что делает private и publi c? Спасибо.

using System;

public class Program
{
    public static void Main()
    {
        bool answered = false;
        string grade;

        while(answered == false)
        {
            Console.Write("What is your mark? ");
            int mark = Convert.ToInt16(Console.ReadLine());
            answered = true;        

            if(mark >= 90 && mark <= 100)
            {
                grade = "A";

            } else if(mark >= 80 && mark < 90)
            {
                grade = "B";

            } else if(mark >= 55 && mark < 80)
            {
                grade = "C";

            } else if(mark >= 40 && mark < 55)
            {
                grade = "D";

            } else if(mark >= 0 && mark < 40)
            {
                grade = "E";

            } else
            {
                Console.WriteLine("Please enter your mark between 0-100");
                answered = false;
            }
                Console.WriteLine("Your grade is a " + grade);
                Console.ReadLine();
        }

    }
}

1 Ответ

2 голосов
/ 22 февраля 2020

Необходимо убедиться, что вы присваиваете значение grade во всех случаях, чтобы оно всегда имело значение. Вы можете начать, просто инициализировав его значением:

string grade = "";

В качестве альтернативы, установите его на значение при всех ваших условиях, что означает установку его в вашем другом здесь:

 else
 {
    Console.WriteLine("Please enter your mark between 0-100");   
    grade = "";
 }
...