Ссылка на объект не указывает на экземпляр объекта - C# (180884)

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

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

Описать класс «файл», содержащий сведения об имени, дате создания и длине файла. Данные о файле нужно считывать с текстового файла. Написал код, при запуске появляется ошибка : Ссылка на объект не указывает на экземпляр объекта.
using System;
using System.Text;
using System.IO;
using System.Collections.Generic;
using System.Linq;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            
            Fail[] array = new Fail[8];
 
            using (StreamReader reader = new StreamReader("d:\\file.txt", Encoding.Default))
            {
                for (int i = 0; i < 8; i++)
                {
                    array[i] = new Fail(reader.ReadLine().Split('|'));
                }
            }
 
            Console.Write("1.Вывести информацию о всех файлах \n2.Выбрать файл по имени\n\nВыберите пункт меню: ");
 
            switch (Console.ReadLine())
            {
                case "1":
                    Console.Clear();
                    Console.WriteLine("Информация о всех файлах: ");
                    foreach (Fail s in array)
                        s.Show();
                    break;
 
                case "2":
                    Console.Clear();
                    Console.Write("Введите имя файла: ");
                    string nam = Console.ReadLine();
                    if (!Fail.CheckFac(nam, array))
                        Console.WriteLine("Такого имени нет!");
                    else
                        foreach (Fail s in array)
                            if (s.Name == nam)
                                s.Show();
                    break;
 
            }
            Console.ReadKey();
        }
    }
 
    class Fail
    {
        private string _name;
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        private string _data;
        public string Data
        {
            get { return _data; }
            set { _data = value; }
        }
        private string _obem;
        public string Obem
        {
            get { return _obem; }
            set { _obem = value; }
        }
       
        public Fail(string[] args)
        {
            Name = args[0];
            Data = args[1];
            Obem = args[2];
        }
 
        static public bool CheckFac(string nam, Fail[] array)
        {
            bool temp = false;
            foreach (Fail s in array)
                if (s.Name == nam)
                    temp = true;
            return temp;
        }
 
        public void Show()
        {
            Console.WriteLine("\nИмя: {0} \nДата создания: {1} \nОбъем (Мб): {2}", Name, Data, Obem);
        }
    }
}

Решение задачи: «Ссылка на объект не указывает на экземпляр объекта»

textual
Листинг программы
        static public bool CheckFac(string nam, List<Fail> array)
        {
            bool temp = false;
            foreach (Fail s in array)
                if (s.Name == nam)
                    temp = true;
            return temp;
        }

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


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

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

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