「辞書」データベースがあり、特定の場所から要素を返したいと考えています。「ElementAt」関数があるのを見ましたが、うまく使えませんでした。
そのようなものが機能しないのはなぜですか?
closeHash.ElementAt<State>(i);
次のエラーが表示されます。
エラー 3 'System.Collections.Generic.Dictionary' には 'ElementAt' の定義が含まれておらず、最適な拡張メソッド オーバーロード 'System.Linq.Queryable.ElementAt(System.Linq.IQueryable, int)' に無効な引数が含まれています
また、closeHash[i] は実際の要素ではなくインデックスのみを提供するため、このコードも機能しません。
if (closeHash.ContainsKey(i) && ((State)closeHash[i]).getH() +
((State)closeHash[i]).getG() > checkState.getH() + checkState.getG()
Dictionary の各要素はクラス "State" であり、checkState も GetH および GetG 関数を持つ State です。I 番目の位置にある要素を取り出して、削除するだけでなく、作業したいと考えています。
前もって感謝します!
グレッグ