В приложении, которое я пишу, один из методов позволяет вводить числа, которые пользователь вводил, чтобы их превращать в буквы.Использование double, return string
Например, пользователь будет вводить оценки (как удваивает), и программа решит (когда критерии будут выполнены), чтобы вернуть письмо, связанное с номером. Первоначально я написал это так:
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
. Как мне заставить это работать так, как я этого хочу?
Похоже на очевидное столкновение имен. Не могли бы вы опубликовать весь фрагмент кода? – axk 2008-11-29 19:39:33
Этот один метод из девяти или около того. Это будет совсем немного. Мне удалось использовать тот же оператор foreach в трех других методах, но у них не было одинаковых имен заголовков, подобных этому. Поэтому я предполагаю, что вы правы в этой оценке столкновения имен. Я сейчас точно знаю, как это изменить. – Harris 2008-11-29 19:48:27