mikeyb585 Ответов: 2

Не удается неявно преобразовать тип 'string' в 'int'


использование системы;
использование системы.Коллекции.Общий;
использование System.Linq;
использование System.Text;
использование системы.Нарезание резьбы.Задачи;

практика пространства имен
{
классная программа
{
static void Main(string[] args)
{
Приставка.Напишите("Привет, Как тебя зовут? ");
имя строки = консоль.Линия чтения();
Приставка.WriteLine("Привет" + имя);


Приставка.Напишите("сколько вам лет? ");
int age = консоль.Линия чтения();
Приставка.WriteLine("Круто! Я на два года старше тебя. Я " + Возраст + 2 +".");

Приставка.Линия чтения();

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

int age = консоль.Линия чтения();


выше^^^ продолжает давать мне сообщение об ошибке...

Не удается неявно преобразовать тип 'string' в 'int'


Почему?

2 Ответов

Рейтинг:
1

pdoxtader

C# - это строго типизированный язык. Вы не можете присвоить строковое значение переменной int. Вам нужно привести (преобразовать данные из одного типа в другой) эту строку к значению int:

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/how-to-convert-a-string-to-a-number


Рейтинг:
0

MadMyche

Ну что ж, вы нашли свою проблему: int age = Console.ReadLine();
Если вы прочтете документацию, то увидите, что это возвращает строку.
Приставка.Метод ReadLine[^]

Лекарство от этого состояло бы в том, чтобы настроить линию, а затем сделать некоторые тесты.
int age = (int)Console.ReadLine();

Теперь вы должны попробовать какой-нибудь текст там и посмотреть исключение, которое он выбрасывает. Затем вы подправляете его еще немного и отвечаете соответствующим образом. Как насчет ... Метод tryparse

int age;
string entry = Console.ReadLine();
if (!int.TryParse(entry, out age)) {
  Console.WriteLine("Please enter a number");
} else {
  Console.WriteLine("Cool! I am two years older than you. I am " + age + 2 +".");
}
Все зависит только от тебя