Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2018, 09:36   #1
Fredom
Пользователь
 
Регистрация: 29.10.2016
Сообщений: 11
По умолчанию Как исправить программу? (создание связного списка)

Ссылка на объект не указывает на экземпляр объекта
Код:
public void AddFirst()
        {
            Book item = new Book();
            item.Input();
            books.AddFirst(item); //исключение
            Console.WriteLine("Work out AddFirst....");
        }
Fredom вне форума Ответить с цитированием
Старый 12.03.2018, 09:50   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

это задача для телепатов?
Где описание класса Book ?
где задаётся переменная books и что в ней на момент выполнения AddFirst() ?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.03.2018, 09:54   #3
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

books видимо и не задан.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 12.03.2018, 09:58   #4
Fredom
Пользователь
 
Регистрация: 29.10.2016
Сообщений: 11
По умолчанию

Код:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _27_LinkedList_
{
    class BookLinkedList : IEnumerable
    {
        private LinkedList<Book> books;
        private Book head;
        private Book tail;
        private int count;

        public BookLinkedList()
        {
            this.head = null;
            this.tail = null;
            this.count = 0;
        }

        public int Count
        {
            get { return this.count; }
        }

        public void AddFirst()
        {
            Book item = new Book();
            item.Input();
            books.AddFirst(item);
            Console.WriteLine("Work out AddFirst....");
        }
        public void AddLast()
        {
            Book item = new Book();
            item.Input();
            books.AddLast(item);
            Console.WriteLine("Work out AddLast....");
        }
        public void AddAfter()
        {
            Book item = new Book();
            item.Input();
            books.AddAfter(books.Last,item);
            Console.WriteLine("Work out AddAfter....");
        }
        public void RemoveFirst()
        {
            books.RemoveFirst();
            Console.WriteLine("Work out RemoveFirst....");
        }
        public void RemoveLast()
        {
            books.RemoveLast();
            Console.WriteLine("Work out RemoveLast....");
        }
        public Book this[int index]
        {
            get
            {
                //if (index >= count || index < 0)
                //{
                //    throw new ArgumentOutOfRangeException("Out of range!");
                //}
                Book currentNode = this.head;
                for (int i = 0; i < index; i++)
                {
                    currentNode = currentNode.Next;
                }
                return currentNode;
            }
            set
            {
                //if (index >= count || index < 0)
                //{
                //    throw new ArgumentOutOfRangeException("Out of range!");
                //}
                Book currentNode = this.head;
                for (int i = 0; i < index; i++)
                {
                    currentNode = currentNode.Next;
                }
                currentNode.Element = value;
            }
        }
        private void Display(LinkedList<Book> words)
        {
            
            foreach (Book word in words)
            {
                Console.Write(word + " ");
            }
            Console.WriteLine();
            Console.WriteLine();
        }
        IEnumerator IEnumerable.GetEnumerator()
        {
            return books.GetEnumerator();
        }
    }
}
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 12.03.2018 в 10:14.
Fredom вне форума Ответить с цитированием
Старый 12.03.2018, 10:02   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Кнопку отправить заело чтоли??
Да еще и без форматирования кода ... ух щас будут гневные речи модераторов.

список books создайте где нибудь оператором new
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание и обработка связного списка С++\Pascal nobodyneedsjeff Помощь студентам 1 25.04.2015 19:10
Создание связного списка на Си zx11 Общие вопросы C/C++ 9 17.03.2014 00:54
сортировка связного списка c++ *Fantom* Помощь студентам 0 28.12.2013 04:04
сортировка связного списка c++ *Fantom* Помощь студентам 0 26.12.2013 18:27
Удаление связного списка из памяти Mahin Общие вопросы C/C++ 3 13.07.2012 10:10