Появляется ошибка "Ссылка на объект не указывает на экземпляр объекта" при чтении файла - 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]); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д