Ссылка на объект не указывает на экземпляр объекта - 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;
}