Доброго времени суток, не совсем понимаю данный код - C#
Формулировка задачи:
Доброго времени суток, помогите пожалуйста разобрать код... а то что-то не могу понять..
есть interface
Вся программа представлена ниже в арххиве
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 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); //работаем с автобусом
}