2017-09-29 3 views
-3

pour la première fois ici et un peu de noob dans C#. Fondamentalement, je crée une liste liée et l'initialiser à null au début de ma classe. Quand je suis prêt à l'utiliser, je vérifie que ce n'est pas égal à la chaîne passée par la méthode. J'obtiens immédiatement une exception NullReferenceException, et je suis supposé la comparer à null. Des correctifs?Obtention d'une exception NullReferenceException lors de la tentative de comparaison à la valeur nulle

private DoubleLinkedListCell<DoubleLinkedListCell<GamePiece>> _columns = null; 

public void FindColumn(string columnId) 
    { 

     bool right = true; 
     while (_columns.Id != columnId) 
     { 
      if (_columns.Next == null) 
      { 
       right = false; 
      } 
      if (right) 
      { 
       Columns = Columns.Next; 
      } 
      else 
      { 
       Columns = Columns.Prev; 
      } 
     } 

    } 
+0

Vérifiez la ligne sur laquelle vous obtenez l'exception. Ce n'est probablement pas là où vous pensez que ça se passe ... –

+0

'_columns' est nul. Vous ne l'initialisez pas avant de l'utiliser ressemble à –

Répondre

0

Vous obtiendrez référence null si u essayez d'accéder à une propriété ou un membre de _columns Liste (ex _columns.Id, _columns.Next etc ..) donc l'initialiser dans le constructeur ou directement quand u champ

déclare