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

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

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

Описать класс «файл», содержащий сведения об имени, дате создания и длине файла. Данные о файле нужно считывать с текстового файла. Написал код, при запуске появляется ошибка : Ссылка на объект не указывает на экземпляр объекта.
Листинг программы
  1. using System;
  2. using System.Text;
  3. using System.IO;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. namespace ConsoleApplication1
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. Fail[] array = new Fail[8];
  13. using (StreamReader reader = new StreamReader("d:\\file.txt", Encoding.Default))
  14. {
  15. for (int i = 0; i < 8; i++)
  16. {
  17. array[i] = new Fail(reader.ReadLine().Split('|'));
  18. }
  19. }
  20. Console.Write("1.Вывести информацию о всех файлах \n2.Выбрать файл по имени\n\nВыберите пункт меню: ");
  21. switch (Console.ReadLine())
  22. {
  23. case "1":
  24. Console.Clear();
  25. Console.WriteLine("Информация о всех файлах: ");
  26. foreach (Fail s in array)
  27. s.Show();
  28. break;
  29. case "2":
  30. Console.Clear();
  31. Console.Write("Введите имя файла: ");
  32. string nam = Console.ReadLine();
  33. if (!Fail.CheckFac(nam, array))
  34. Console.WriteLine("Такого имени нет!");
  35. else
  36. foreach (Fail s in array)
  37. if (s.Name == nam)
  38. s.Show();
  39. break;
  40. }
  41. Console.ReadKey();
  42. }
  43. }
  44. class Fail
  45. {
  46. private string _name;
  47. public string Name
  48. {
  49. get { return _name; }
  50. set { _name = value; }
  51. }
  52. private string _data;
  53. public string Data
  54. {
  55. get { return _data; }
  56. set { _data = value; }
  57. }
  58. private string _obem;
  59. public string Obem
  60. {
  61. get { return _obem; }
  62. set { _obem = value; }
  63. }
  64. public Fail(string[] args)
  65. {
  66. Name = args[0];
  67. Data = args[1];
  68. Obem = args[2];
  69. }
  70. static public bool CheckFac(string nam, Fail[] array)
  71. {
  72. bool temp = false;
  73. foreach (Fail s in array)
  74. if (s.Name == nam)
  75. temp = true;
  76. return temp;
  77. }
  78. public void Show()
  79. {
  80. Console.WriteLine("\nИмя: {0} \nДата создания: {1} \nОбъем (Мб): {2}", Name, Data, Obem);
  81. }
  82. }
  83. }

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

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

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


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

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

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы