Появляется ошибка "Ссылка на объект не указывает на экземпляр объекта" при чтении файла - C#
Формулировка задачи:
Начало файла выглядит так:
№телефона,Фамилия,Имя,Отчество,Индекс,Город,Улица,Дом,Квартира
8950097636,Гаврилов,Дмитрий,Александрович,637685,Иркутск,Ленина,23,105
Код класса
Код главной функции
class Row
{
public string Number; //№ телефона,
public string SurName; //фамилия,
public string Street; //улица.
public Row()
{
Number = "неизвестно";
SurName = "неизвестно";
Street = "неизвестно";
}
public Row(string Number, string SurName, string Street)
{
this.Number = Number;
this.SurName = SurName;
this.Street = Street;
}
public void per()
{
Console.WriteLine("№ телефона {0}", Number);
Console.WriteLine("Фамилия {0}", SurName);
Console.WriteLine("Улица {0}", Street);
}
}
}class pp
{
public const string path = "SomeData.txt";
class Program
{
static void Main(string[] args)
{
try
{
int lenght = 0;
foreach (string lines in File.ReadLines(pp.path, Encoding.Default)) //перебор строк файла, вывод их в консоль
{
Console.WriteLine(lines);
lenght++; //нахождение кол-ва строк
}
char[] del = { ',' };
string[] line = File.ReadAllLines("SomeData.txt", Encoding.Default);
Row[] persons = new Row[lenght];
for (int i = 0; i < line.Length; i++)
{
string[] qw = line[i].Split(del);
[COLOR="Red"]persons[i].Street = qw[6];[/COLOR]
persons[i].SurName = qw[1];
persons[i].Number = qw[0];
}
foreach (Row p in persons)
{
p.per();
}
string street1 = Console.ReadLine();
for (int j = 0; j < persons.Length; j++)
{
if (persons[j].Street == street1)
{
string [] text = new string[] { line[j] };
Console.WriteLine("Абоненты, живущие по указанной улице {0}", text);
Console.ReadKey();
}
}
}
catch (FileNotFoundException)
{
Console.WriteLine("Файл не найден");
Console.ReadKey();
}
}
static void write(string text)
{
using (StreamWriter sw = File.AppendText("resq.txt"))
{
sw.WriteLine(text);
}
}
}
}
}Решение задачи: «Появляется ошибка "Ссылка на объект не указывает на экземпляр объекта" при чтении файла»
textual
Листинг программы
for (int i = 0; i < line.Length; i++)
{
qw = line[i].Split(del);
persons[i] = new Row(qw[0], qw[1], qw[2]);
}