Bibo Geschrieben 8. März 2023 Melden Share Geschrieben 8. März 2023 Hallo zusammen, ich arbeite gerade an einem kleinen Mathe-Spiel. Die Aufgaben werden anhand von Parametern erstellt und in eine eigene Klasse gespeichert. ich erstelle also mit public class MathQuestion eine klasse und packe die variablen rein. Die Aufgaben im Spiel sind Multiple-Choice. FakeAnswers sind lediglich erstelle int, welche nahe dem richtigen Ergebnis sind. Soweit, so gut. Nun erstelle ich in einem anderen Script eine Variable mit der variable MathTasks. Solange ich die int speichern will scheint alles zu funktionieren. Sobald ich fakeAnswers einen wert hinzufügen will wirft das System eine Fehlermeldung aus. Wo liegt das Problem? Die erstelle Klasse: ------------------------------------------------- using System.Collections.Generic; public class MathQuestion { public int a; public int b; public int answer; public List<int> fakeAnswers; } Ein anderes Script ---------------------------------------------------- public MathQuestion question = new MathQuestion(); private void AddInformationToMathClass() { question.a = _firstNumber; question.b = _secondNumber; question.answer = _result; question.fakeAnswers.Add(_result); ->FEHLER question.fakeAnswers.Add(_fakeResult); -> FEHLER } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 8. März 2023 Melden Share Geschrieben 8. März 2023 Moin! Die "fakeAnswers"-Variable wird vermutlich null als Wert haben, also keine Liste referenzieren. Du musst irgendwo mit so etwas wie fakeAnswers = new List<int>(); ein neues List-Objekt erstellen und die Referenz der Variable zuweisen. P.S.: Um's anderen weniger schwer zu machen, bitte statt "eine Fehlermeldung" immer die Fehlermeldung posten. Der Inhalt ist ja nicht gerade unwichtig Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jog Geschrieben 8. März 2023 Melden Share Geschrieben 8. März 2023 Hallo, Welche Fehlermeldung du genau erhältst wäre schon hilfreich. Ich rate mal ins blaue. In der class MathQuestion hast du public List<int> fakeAnswers; eine Liste referenziert die aber noch auf null zeigt. In der anderen Classe greifst du mit question.fakeAnswers.Add(_result); auf die fakeAnswers Liste zu die noch nicht Initialisiert ist. In der class MathQuestion hättest du mit public List<int> fakeAnswers = new List<int>(); die Liste Initialisiert Sorry, Sascha war mal wie immer 1 Minute schneller😉 Gruß Jog Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Bibo Geschrieben 15. März 2023 Autor Melden Share Geschrieben 15. März 2023 fakeAnswers = new List<int>(); 😅 naklar. Wir tun jetzt einfach mal so als wäre das nie passiert. Vielen dank. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
chrische5 Geschrieben 15. März 2023 Melden Share Geschrieben 15. März 2023 Hallo Eine echter Klassiker. Und hier die Anleitung dazu: https://forum.unity.com/threads/how-to-fix-a-nullreferenceexception-error.1230297/ Christoph Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.