Доброго времени суток, не совсем понимаю данный код - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток, помогите пожалуйста разобрать код... а то что-то не могу понять..
 StreamReader f = new StreamReader("fail.txt", Encoding.Default);
                String s = f.ReadToEnd();
                f.Close();
                string rv = "\r\n";
                Regex R = new Regex(rv);
                string[] s1, s2;
                s1 = R.Split(s);
                
                ITransport[] I = new ITransport[s1.Length];// не могу понять что это????????????
                for (int i = 0; i < s1.Length; i++)
                {
                    s2 = s1[i].Split(' ');
                    if (s1[i].StartsWith("самолет"))
                        I[i] = new Plane(s2);
                    else if (s1[i].StartsWith("поезд"))
                        I[i] = new Train(s2);
                    else if (s1[i].StartsWith("автобус"))
                        I[i] = new Bus(s2);
                }
есть interface
 interface ITransport
    {
 
        int Number
        {
            get;
        }
        //свойство, возвращающее количество свободных мест;
        int Kol
        {
            get;
        }
        //свойства, возвращающие пункт отправления 
        string Otpr
        {
            get;
        }
        //свойства, возвращающие пункт назначения
        string Naznach
        {
            get;
        }
        //свойство, возвращающее вид транспорта
        string Type
        {
            get;
        }
        //метод вывода информации
        void Output();
        //индексатор со строковым типом индекса для получения цены на билет
        int this[string index]
        {
            get;
        }
Вся программа представлена ниже в арххиве

Решение задачи: «Доброго времени суток, не совсем понимаю данный код»

textual
Листинг программы
s1 = R.Split(s);//Разбиваем строку s на подстроки 
                ITransport[] I = new ITransport[s1.Length]; //Создаем массив объектов реализующих интерфейс ITransport для работы с числом элементов массива - s1.Length
                for (int i = 0; i < s1.Length; i++)
                {
                    s2 = s1[i].Split(' ');
                    if (s1[i].StartsWith("самолет"))//Если совпадает  начало данного экземпляра строки со строкой самолет то 
                        I[i] = new Plane(s2); //работаем с самолетом
                    else if (s1[i].StartsWith("поезд"))//Если совпадает  начало данного экземпляра строки со строкой поезд то 
                        I[i] = new Train(s2); //работаем с поездом
                    else if (s1[i].StartsWith("автобус"))//Если совпадает  начало данного экземпляра строки со строкой автобус то 
                        I[i] = new Bus(s2);   //работаем с автобусом
                }

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы