TreateのAPIを処理するためにManatee.Trelloパッケージを使用してC#アプリケーションを構築しています。IEnumerable.MoveNext()はTrueを返しますが、IEnumerable.CurrentはSystem.NullReferenceExceptionを発生させます。
現在、検索機能によって返された最初の結果を取得しようとしています。 Search.Boards
要素はIEnumerable<Board>
インターフェイスを実装しています。
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());
最初のforeachループが正常に動作し、私のユーザーがアクセス権を持つすべてのボードを表示します。
これは私が現在持っているものです。 Console.WriteLine("MoveNext:{0}", next)
も同様に動作し、MoveNext:True
と表示されます。しかし、最後の行は、System.NullReferenceException: Object reference not set to an instance of an object
を返します。
私のコードに間違いがありますか?私はmysearch
にデータが含まれていることを知っています(私はコールの直後にforeach
ループをコピーしようとしました。検索結果の特定の要素にアクセスする簡単な方法はありますか?
ありがとう:
は、foreachループの外に列挙のメンバーにアクセスするには、LINQが最も簡単な方法です。しかし、foreachループを使用せずに列挙子の特定の要素を取得するにはどうすればよいですか? – Aserre@Aserre LinQの例を追加しました。 – nvoigt