@dobrikv

При попытке компиляции появляется ошибка — Входная строка имела неверный формат,в чем проблема?

class Program
    {
        static void Main(string[] args)
        {
            SportCar SC = new SportCar("green", 2000, 250, 7, true);
            Console.WriteLine("SC.color ={ 0},SC.ves ={ 1},SC.power ={ 2},SC.transmission ={ 3},SC.complete_drive{ 4}", SC.color, SC.ves, SC.power, SC.transmission, SC.complete_drive);
            Console.ReadLine();
        }
    }
    class Car
    {
        public string color;
        public int ves;
        public int power;

        public Car(string color, int ves, int power)
        {
            this.color = color;
            this.ves = ves;
            this.power = power;
        }
    }
    class SportCar : Car
    {
        public short transmission;
        public bool complete_drive;

        public SportCar(string color,int ves, int power, short transmission,bool complete_drive)
            :base(color,ves,power)
        {
            this.transmission = transmission;
            this.complete_drive = complete_drive;
        }
    }
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
tomnolane
@tomnolane
профессиональный разработчик
тут (проблема) с пробелами:
Console.WriteLine("SC.color ={ 0},SC.ves ={ 1},SC.power ={ 2},SC.transmission ={ 3},SC.complete_drive{ 4}", SC.color, SC.ves, SC.power, SC.transmission, SC.complete_drive);

уберите пробелы:
Console.WriteLine("SC.color ={0},SC.ves ={1},SC.power ={2},SC.transmission ={3},SC.complete_drive={4}", SC.color, SC.ves, SC.power, SC.transmission, SC.complete_drive);

(где { 0}, { 1} ... нужно {0}, {1})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
devspec
@devspec
Помогло? Отметь решением
Так чисто, для информации. Visual Studio 2015 позволяет делать так:

Console.WriteLine($"SC.color ={SC.color},SC.ves ={SC.ves},SC.power ={SC.power},SC.transmission ={SC.transmission},SC.complete_drive={SC.complete_drive}");

что, на мой взгляд, красивее и позволяет избежать подобных ошибок. Обратите внимание на знак $ перед строкой - это его магия. Так можно поступить с любой строкой, не только в Console.WriteLine.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы