Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 25.10.2014
Сообщений: 10

Ссылка на объект не указывает на экземпляр объекта

18.09.2018, 18:32. Показов 2054. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В этой строке ошибка Figure f = board.GetFigureAt(square); следующего вида:

An unhandled exception of type 'System.NullReferenceException' occurred in Chess.dll

Additional information:
Ссылка на объект не указывает на экземпляр объекта.

В интернете решение не нашел, пытался инициализировать board = new Board(fen); но так код не работает, как нужно.

Так же пытался инициализировать конструктором по умолчанию board = new Board();

почему-то пишет, что в классе Board нету конструктора без параметров(но это же конструктор по умолчанию, он не обязан быть..)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
classs MyChess { 
public string fen { get; private set;}
        Board board;
        public MyChess(string fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1")
        {
            this.fen = fen;
        }
 
        MyChess(Board board){
            this.board = board;
            board = new Board(fen);
        }
 
public char GetFigureAt (int x, int y)
        {
            Square square = new Square(x, y);
            Figure f = board.GetFigureAt(square);
            return f == Figure.none ? '.' : (char)f;
        }
}
 
class MyBoard {
public Board(string fen)
        {
            this.fen = fen;
            figures = new Figure[8, 8];
            Init();
        }
 
public Figure GetFigureAt(Square square)
        {
            if (square.OnBoard())
                return figures[square.x, square.y];
            return Figure.none;
        }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2018, 18:32
Ответы с готовыми решениями:

Ссылка на объект не указывает на экземпляр объекта
Ругается на строчку "mas1.url.Add(@reader.Value);" public struct filemas { public string version; ...

Ссылка на объект не указывает на экземпляр объекта
for (int i =0; i<str_Unique.Length; i++) { for (int j = 0; j<str_Unique.Length;j++) { if (str_Unique.Length >...

Ссылка на объект не указывает на экземпляр объекта:(
Не могу понять в чем дело: namespace ConsoleApplication1 { class MyCollection { public static Animals animArr...

4
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
18.09.2018, 19:13
Цитата Сообщение от SH4M4N Посмотреть сообщение
Так же пытался инициализировать конструктором по умолчанию board = new Board();
почему-то пишет, что в классе Board нету конструктора без параметров(но это же конструктор по умолчанию, он не обязан быть..)
Конструктор по умолчанию (без параметров) есть до тех пор, пока не появляется конструктор с параметрами.
0
0 / 0 / 0
Регистрация: 25.10.2014
Сообщений: 10
18.09.2018, 19:32  [ТС]
Добавлено через 6 минут
Как мне тогда инициализировать board, чтобы избавиться от этой ошибки?

Добавлено через 7 минут
Даценд, Как мне тогда инициализировать board, чтобы избавиться от этой ошибки?
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
18.09.2018, 19:41
Цитата Сообщение от SH4M4N Посмотреть сообщение
Как мне тогда инициализировать board, чтобы избавиться от этой ошибки?
Да откуда ж мне знать? Недостаточно информации.
Попробую угадать:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class MyChess
{
    public string fen { get; private set; }
    Board board;
    public MyChess(string fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1")
    {
        this.fen = fen;
        this.board = new Board(this.fen);
    }
 
    public char GetFigureAt(int x, int y)
    {
        Square square = new Square(x, y);
        Figure f = board.GetFigureAt(square);
        return f == Figure.none ? '.' : (char)f;
    }
}
1
0 / 0 / 0
Регистрация: 25.10.2014
Сообщений: 10
18.09.2018, 20:55  [ТС]
Спасибо. После вашего ответа исправил ошибку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.09.2018, 20:55
Помогаю со студенческими работами здесь

Ссылка на объект не указывает на экземпляр объекта
Здравствуйте. В подчеркнутой строке возникает ошибка : ссылка на объект не указывает на экземпляр объекта. class Program { ...

Ссылка на объект не указывает на экземпляр объекта
Доброго времени суток форумчане, Помогите пожалуйста, Есть класс public class FBD { public int count; public int...

Ссылка на объект не указывает на экземпляр объекта
Здравствуйте. string line = null; using (StreamReader reader =...

Ссылка на объект не указывает на экземпляр объекта
Добрый ночь! Возникла непонятная мне ошибка. В коде примерно так: string predloj; int k = 0; predloj = "";

Ссылка на объект не указывает на экземпляр объекта
Здравствуйте. Помогите пожалуйста исправить ошибку "Ссылка на объект не указывает на экземпляр объекта" using System; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru