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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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