私はC#で小さなゲームを作っています。その中に、ソートされたリストに、それぞれが発生する特定の時刻を持つキーフレームオブジェクトがあります。特定の時間の後に発生するものを見つけたいと思います。新しいキーフレームオブジェクトを作成せずに、リストでそのオブジェクトを検索し、結果を取得してからそのオブジェクトを使用する場合、構文的に適切な方法で検索を実行できますか?
例えば:
double time = 10.0;
Keyframe blah = new Keyframe(time);
int index = _keyframes.BinarySearch(null, blah);
if (index < 0) index = ~index;
if (index >= _keyframes.Length) return null;
return _keyframes[index];
動作しますが、新しいキーフレームオブジェクトの作成が含まれます。
誰かがこれを行うための簡潔な方法を手に入れましたか?