2016-04-16 8 views
1

Zunächst einmal, tut mir leid, wenn ich Fehler mit Englisch mache, ist es nicht meine Montagehefte.C# NullReferenceException mit einer Liste

Ich entwickle in C#, und ich habe ein Problem, ich weiß nicht, wie zu lösen.

"Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' aufgetreten in AccountManagement.exe"

"Weitere Informationen: La référence d'objet n'est pas définie à une un objet d'Instanz." Übersetzung -> Objektverweis nicht gesetzt ist auf ein Objekt

Hier ist der Code:

private List<String> MyLines; 
     public List<String> GetMyLines() 
     { 
      return MyLines; 
     } 
     public void SetOneLines(string LineToInsert) //Insert juste un élément dans ma liste 
     { 
      MyLines.Add(LineToInsert); !!!!! Where the error occurs !!!! 
     } 

Diese Funktion hier genannt wird:

public void Identification() 
     { 
      Console.WriteLine("Indiquez votre nom et votre prénom"); 
      string UserLastNameTemp = Console.ReadLine(); 
      string UserNameTemp = Console.ReadLine(); 

      using (StreamReader ReadFileUser = new StreamReader("C:\\Users\\XXX\\Desktop\\user.txt")) 
      { 
       string Line; 
       while ((Line = ReadFileUser.ReadLine()) != null) 
       { 
         Console.WriteLine(Line); 
         SetOneLines(Line); 
       } 

      } 

ich diese Art von Fehler bereits konfrontiert, aber Ich muss zugeben, ich weiß nicht, wie ich hier vorgehen soll, weil ich nicht einmal weiß, warum dieser Fehler ist: D

Könnte mir jemand einen Tipp geben?

+1

Bitte markieren Sie die Antwort, die Ihnen am meisten geholfen hat (oder die früheste Antwort), indem Sie das grüne Häkchen auf der linken Seite drücken. –

Antwort

5

Sie müssen Ihre Liste initialisieren, bevor Sie sie hinzufügen.

private List<String> MyLines = new List<String>(); 
0

Sie haben die Liste in Ihrem Methodenkörper nicht initialisiert. Bitte stellen Sie sicher, dass Sie die Liste auf diese Weise initialisieren. Initialisierung wird Speicher zuweisen, um es zu verweisen.

private List<String> MyLines=new List<String>(); 
    public List<String> GetMyLines() 
    { 

     return MyLines; 
    } 

Und das wird nur leere Liste der Zeichenfolgen zurückgeben.

+0

Dies wird das Problem von OP nicht lösen, muss List vor dem Setzen von Zeilen initialisieren – brykneval

+0

Ich denke, ich initialisierte die Liste in der Methode. –

Verwandte Themen