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