Je crée une application C# en utilisant le package Manatee.Trello pour gérer l'API de Trello.IEnumerable.MoveNext() renvoie True mais IEnumerable.Current déclenche une exception System.NullReferenceException
J'essaie actuellement d'obtenir le premier résultat renvoyé par la fonction de recherche. L'élément Search.Boards
implémente l'interface IEnumerable<Board>
.
C'est ce que j'ai actuellement:
Search mySearch = new Search(SearchFor.IsOpen(), 100, SearchModelType.Boards);
foreach (Board b in mySearch.Boards) {
Console.WriteLine("Board Name:{0} _ ID:{1}", b.Name, b.Id);
}
mySearch.Boards.GetEnumerator().Reset();
bool next=mySearch.Boards.GetEnumerator().MoveNext();
Console.WriteLine("MoveNext:{0}", next);
Console.WriteLine("\nBoard Name:{0}", mySearch.Boards.GetEnumerator().Current.ToString());
La première boucle de foreach fonctionne très bien et affiche tous les conseils de mon utilisateur a accès. Console.WriteLine("MoveNext:{0}", next)
fonctionne également et affiche MoveNext:True
. Cependant, la dernière ligne renvoie un System.NullReferenceException: Object reference not set to an instance of an object
Quel est le problème avec mon code? Je sais mysearch
contient des données (j'ai essayé de copier la boucle foreach
juste après l'appel MoveNext()
, et cela fonctionne très bien). Existe-t-il une méthode plus simple pour accéder à un élément spécifique de mon résultat de recherche?
Merci pour l'explication. Cependant, comment puis-je obtenir un élément spécifique de mon énumérateur sans utiliser une boucle foreach? – Aserre
@ Aserre J'ai ajouté un exemple LinQ. – nvoigt