JJTY Ответов: 1

Получение ошибки в строке 'return result' (ошибка: не удается неявно преобразовать тип 'string' в 'int')


using System;
					
public class Program
{
	public static void Main()
	{
		Console.WriteLine("What is the correct way to declare a variable to store an integer value in C#?");
		Console.WriteLine("a. int 1x=10;");
		Console.WriteLine("b. int x=10;");
		Console.WriteLine("c. float x=10.0f;");
		Console.WriteLine("d. string x=10");
		
		Console.WriteLine(Getanswer('a'));					  
		Console.ReadLine();
	}
	
	static int Getanswer(char answer)
	{
		string result;  
		switch (answer)
		{
			case 'a': 
				result = "Incorrect Answer!";
				break;
			case 'b': 
				result = "Correct!";
				break;	
			case 'c': 
				result = "Incorrect Answer!";
				break;
			case 'd': 
				result = "Incorrect Answer!";
				break;
			default:
				result = "Invalid Answer";
				break;
		} 
			
		return result;
	}
}


Что я уже пробовал:

Привет, я просто хотел попросить о помощи. Я новичок в C# и практикуюсь с оператором switch. Спасибо!

1 Ответов

Рейтинг:
8

OriginalGriff

Посмотрите на свой код:

static int Getanswer(char answer)
    {
    string result;  
    ...
    return result;
    }
Ваш метод определяется как возвращающий целое число, но вы явно говорите ему возвращать строку. Вы не можете этого сделать: измените определение метода, чтобы вернуть строку, и это все исправит:
static string Getanswer(char answer)
    {
    string result;  
    ...
    return result;
    }


JJTY

@OriginalGriff Вау, спасибо! Я этого не заметил.

OriginalGriff

Легко ошибиться!