Bibo Posted March 8 Report Share Posted March 8 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 } Quote Link to comment Share on other sites More sharing options...
Sascha Posted March 8 Report Share Posted March 8 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 1 Quote Link to comment Share on other sites More sharing options...
Jog Posted March 8 Report Share Posted March 8 (edited) 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 Edited March 8 by Jog War zu langsam 1 1 Quote Link to comment Share on other sites More sharing options...
Bibo Posted March 15 Author Report Share Posted March 15 fakeAnswers = new List<int>(); 😅 naklar. Wir tun jetzt einfach mal so als wäre das nie passiert. Vielen dank. Quote Link to comment Share on other sites More sharing options...
chrische5 Posted March 15 Report Share Posted March 15 Hallo Eine echter Klassiker. Und hier die Anleitung dazu: https://forum.unity.com/threads/how-to-fix-a-nullreferenceexception-error.1230297/ Christoph Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.