Почему переменная 0?

199
19 апреля 2018, 09:53

Здравствуйте, у меня такая проблема, я в в главном методе вызываю виртуальный метод из класса наследника, но почему-то переменная выводит 0. Значение переменно берется из файла и присваивается масиву, который присваивается переменной, которая выводит 0, но в файле написано 6000. Работаю в данном коде пока с классом Sensor, LCD неактивен.

    public class Katalog
    {
        public string Model { get; set; }
        public string Firm { get; set; }
        public string Diagonal { get; set; }
        public string Tv_tuner { get; set; } //LSD
        public string Resolution { get; set; }
        public string Type_matrix { get; set; }
        public string Type_sensor { get; set; } //Sensor
        public string Amount_hdd { get; set; } //Sensor
        public virtual int Price()
        {
            int value = 0;
            return value;
        }
    }
        public class LCD : Katalog
        {
        public int value { get; set; }
        public LCD(string model, string firm, string diagonal, string tv_tuner, string resolution, string type_matrix, int price)
        {
            Model = model;
            Firm = firm;
            Diagonal = diagonal;
            Tv_tuner = tv_tuner;
            Resolution = resolution;
            Type_matrix = type_matrix;
            value = price;
        }
            public LCD(string line)
            {
                string[] split = line.Split(new Char[] { '*' });
                Model = split[0].Trim();
                Firm = split[1].Trim();
                Diagonal = split[2].Trim();
                Resolution = split[3].Trim();
                Type_matrix = split[4].Trim();
                value = int.Parse(split[5].Trim());
            }
            public override int Price()
            {
                if (value > 5000)
                {
                    value = value - (value * 5 / 100);
                    return value;
                }
                else
                {
                    return value;
                }
            }
            public override string ToString()
            {
                return String.Format("Модель {0}\nФирма {1}\nДиагональ {2}\nРазрешение {3}\nТип матрицы {4}\nСтоимость {5} гривны\n", Model, Firm, Diagonal, Resolution, Type_matrix, value);
            }
        }
        public class Sensor : Katalog
        {
        public int value { get; set; }
        public Sensor(int Value)
        {
            value = Value;
        }
        public Sensor(string line)
        {
            string[] split = line.Split(new Char[] { '*' });
            Model = split[0].Trim();
            Firm = split[1].Trim();
            Diagonal = split[2].Trim();
            Resolution = split[3].Trim();
            Type_sensor = split[4].Trim();
            value = int.Parse(split[5].Trim());
        }
        public override string ToString()
        {
            return String.Format("Модель {0}\nФирма {1}\nДиагональ {2}\nРазрешение {3}\nТип сенсора {4}\nСтоимость {5} гривны\n", Model, Firm, Diagonal, Resolution, Type_sensor, value);
        }
        public override int Price()
        {
            if (value > 5000)
            {
                Console.WriteLine("Вы взяли кредит, {0} гривен, на 12 месяцев, под 3%.", value);
                value = ((value * 3 / 100) * 12 + value) / 12;
                Console.WriteLine("Сумма погашения ежемесячного кредита, составляет {0} гривен.", value);
                return value;
            }
            else
            {
                return value;
            }
        }
    }
        class Program
    {
        static void CreatorList()
            {
            string l;
            StreamReader file = new StreamReader("Katalog.txt");
            List<LCD> list_LCD = new List<LCD>();
            l = file.ReadLine();
            list_LCD.Add(new LCD(l));
            foreach (LCD a in list_LCD)
            {
                    Console.WriteLine(a);
            }
            List<Sensor> list_Sensor = new List<Sensor>();
            l = file.ReadLine();
            list_Sensor.Add(new Sensor(l));
            foreach (Sensor b in list_Sensor)
            {
                Console.WriteLine(b);
            }

        }
        static void Main(string[] args)
        {
            Sensor S = new Sensor(Value);
            CreatorList();
            S.Price();
            //Console.WriteLine(S.value);
            Console.ReadLine();
        }

    }
}
READ ALSO
Как применить OrderBy в C++/CLI?

Как применить OrderBy в C++/CLI?

Доброе утро, всем!! Есть класс на C#:

197
C# передача больших файлов(больше 8 кб) по UDP

C# передача больших файлов(больше 8 кб) по UDP

Доброе утро, всем!! Есть клиент-серверное приложение на C#Сервер:

167
Как сравнить даты

Как сравнить даты

Есть заранее известная датаНапример, есть некий документ от 01

193
Взаимодействие с двумя окнами MVVM C#

Взаимодействие с двумя окнами MVVM C#

Пробую освоить MVVM, дается очень тяжелоВ теории вроде понятно, а вот как на практике реализовать, не очень понимаю

180