Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Obiekty - dlaczego to nie działa?


Rekomendowane odpowiedzi

Opublikowano
Cześć :). Mam taki kod:
    struct Gracze
    {
        public string nazwa{ get; set; }
        public string[] karty{ get; set; }
    }

class Program
{
   Gracze[] gracz;
   gracz = new Gracze[4];
   gracz[0].karty = new string[10]; - Problem występuje w tym miejscu.
   gracz[0].karty[0] = "wartosc";
}

Otrzymuję komunikat: Object reference not set to an instance of an object. Dlaczego nie działa? 

 

Edit: Problem rozwiązany. Użyłem do tego kolekcji typu ArrayList.

 

 

 

giphy.gif

  • 6 miesięcy temu...
Opublikowano

Problem nie jest rozwiazany, a pominiety. Nauka polega na probie naprawy, a nie stosowaniu zamiennikow.

Rozwiazanie problemu polega za stworzeniu instancji obiektow. Twoje zmienne referencyjne tablicy nie wskazuja na zadne instancje.

class Program
{
   Gracze[] gracz = new Gracze[4];
   for(int i=0; i<gracz.Length; i++)
      gracz[i] = new Gracz();
   gracz[0].karty = new string[10];
   gracz[0].karty[0] = "wartosc";
}

Nie widzę sensu, by mutator Gracze.nazwa był publiczny. Powinien on być prywatny i ustawiany w konstruktorze.

 

Publiczne właściwości, metody pisz z wielkiej litery.

 

Struktura powinna nazywać się "Gracz" a kolekcja "gracze".

 

Opublikowano

Czemu używasz jakiś ArrayList? nie można samo List? 

Nie wiem, to było pół roku temu. :)

giphy.gif

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...