Понедельник, 25 Ноября 2024, 23:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
[C#] Недоступный массив
BlackFixДата: Четверг, 05 Декабря 2013, 17:09 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Итак, мы имеем массив на форме 1:

Объявление класса формы:
Код

namespace Contact_Book
{
     public partial class API : Form
     {
     }
}


На этой форме находиться массив:
Код

         public string[] Names;
         public string[] FNames;
         public string[] Cities;
         public string[] Mails;
         public string[] Phones;
         public string[] Avatars;
         public string[] Addictive;


Необходимо получить длинну массива Names из другой формы (Names.Lenght).

Объявление другой формы:
Код

namespace Contact_Book
{
     public partial class AddContact : Form
     {
         public API AFunk;
     }
}


Пытаемся получить данные о длинне массива:
Код

      int SOA = AFunk.Names.Length;


И вдруг опа, мы ругаемся на строчку int SOA = AFunk.Names.Length; с ошибкой NullReferenceException.

Не понимаю в чем дело. Видимо массив не доступен или я просто не правильно его получаю.

Помогите пожалуйста, просто привык к Unity а там получал массив другим методом (GetComponent()), а тут такое не прокатит.


CodeBits Interactive.
atorisДата: Четверг, 05 Декабря 2013, 18:24 | Сообщение # 2
участник
Сейчас нет на сайте
советую почитать

Вступайте в групу
BlackFixДата: Суббота, 07 Декабря 2013, 06:33 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Цитата atoris ()
советую почитать


Прошу прощения, немного не разобрался что к чему, можно ли показать пример исходя из моего кода?

Заранее спасибо smile

Добавлено (05.12.2013, 19:09)
---------------------------------------------
Проблема снимается, переписал программу на C++.

Добавлено (07.12.2013, 06:33)
---------------------------------------------
Если кто столкнулся с такой же проблемой, решение может быть простым.

Заменить String массивы на List(Of String)


CodeBits Interactive.
wcptДата: Четверг, 20 Февраля 2014, 12:47 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
банально конечно, но может ты просто объявил ссылку на массив, без последующего new в конструкторе/где либо еще?
ArhimondusДата: Среда, 26 Марта 2014, 15:45 | Сообщение # 5
частый гость
Сейчас нет на сайте
Массив не был инициализирован.

Можно вот так сделать:
public string[] Names = new string[ 5 ]; //или любой другой размер


Сообщение отредактировал Arhimondus - Среда, 26 Марта 2014, 15:47
IzaronДата: Среда, 26 Марта 2014, 22:20 | Сообщение # 6
Rammstein forever
Сейчас нет на сайте
Опаздуны ппц, нормальный человек за 4.5 месяца может найти ответ даже на смысл жизни) smile
BlackFixДата: Среда, 26 Марта 2014, 23:12 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Цитата Izaron ()
Опаздуны ппц, нормальный человек за 4.5 месяца может найти ответ даже на смысл жизни)


я за это время пока ждал ответа уже успел C# до конца выучить. Капец некропост biggrin Даже не ожидал.


CodeBits Interactive.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг