@ANYJT
junior unity c# developer, HTML CSS JS Developer

Ошибка CS0029 неявно преобразовать тип string к Consoleapp.programm.info?

У меня ошибка CS0029 неявно преобразовать тип string к ConsoleApp.Program.info вот код ,
помогите пожалуйста!
using System;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {

            info name = new();
            Console.WriteLine("Hello , write your name.");
            name = Console.ReadLine();
            Console.WriteLine($"Name: {name} ");
            Console.WriteLine("Write name of your civilization");
            namecivil.info = Console.ReadLine();
            Console.WriteLine($"Civilization name - {namecivil} ");
        }
    class info
        {
            string name = "";
            string namecivil = "";
            int people = 0;
            int army = 0;
            double economy = 1.00;
            double money = 5.00;
        }     
    }
}
  • Вопрос задан
  • 424 просмотра
Решения вопроса 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
1. Замени приватные поля на публичные свойства
2. Дай нормальные имена всему.
Классы должны называться с большой буквы.
Публичные свойства должны называться с большой буквы.
3. Изучи базовый синтаксис.
Каким образом ты пытаешься записать значение в необъявленную переменную name?
Куда должно сохраниться civilName, если у тебя нет переменной namecivil, и в ней тем более нет поля info?
4.
using System;


Console.WriteLine("Hello , write your name.");
var name = Console.ReadLine();
Console.WriteLine($"Name: {name} ");
Console.WriteLine("Write name of your civilization");
var civilzationName = Console.ReadLine();
Console.WriteLine($"Civilization name - {civilzationName} ");
var info = new Info
{
    Name = name,
    CivilizationName = civilzationName
};
Console.WriteLine(info);

record Info
{
    public string Name { get; init; } = "";
    public string CivilizationName { get; init; } = "";
    public int People { get; init; }
    public int Army { get; init; }
    public double Economy { get; init; } = 1.00;
    public double Money { get; init; } = 5.00;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы