В приложении, которое я пишу, один из методов позволяет вводить введенные пользователем цифры в буквы.
Например, пользователь будет вводить оценки (как двойные), и программа примет решение (при соблюдении критериев) вернуть букву, связанную с номером. Изначально мне было написано так:
public void GetGrade(double scores)
Console.Write("Score of {0} earns: ", score);
if (score >= 95.0)
Console.WriteLine("A+");
else if (score >= 90.0)
Console.WriteLine("A");
else if (score >= 85.0)
Console.WriteLine("B+");
else if (score >= 80.0)
Console.WriteLine("B");
else if (score >= 75.0)
Console.WriteLine("C+");
else if (score >= 70.0)
Console.WriteLine("C");
else if (score >= 65.0)
Console.WriteLine("D+");
else if (score >= 60.0)
Console.WriteLine("D");
else
Console.WriteLine("F");
Но это должно быть написано с учетом ВОЗВРАТА.
Итак, я думаю, что это должна быть публичная строка GetGrade(double scores)
И поскольку он находится в массиве, мне нужно:
foreach(double score in scoress)
{
THE CODE I POSTED ABOVE
}
За исключением того, что я изменил бы все console.writeline
, чтобы вернуться.
Однако, когда я делаю это, я получаю синтаксическую ошибку, говорящую мне:
Локальная переменная с именем Score не может быть объявлена в этой области, поскольку она будет давать другое значение для «оценки», которая уже используется в родительской или текущей области для обозначения чего-то другого.
Итак, я понял, что не могу использовать score
, потому что заголовок уже содержит score
.
Как мне заставить это работать так, как я хочу?