一部のC++コードをC#に変換していますが、std :: map :: lower_bound(k)を呼び出して、キーがk以上のエントリをマップ内で検索します。ただし、.NETのSortedDictionaryで同じことを行う方法はありません。SortedListを使用して回避策を実装できると思いますが、残念ながら、SortedListは遅すぎます(キーの挿入と削除にはO(n))。私に何ができる?
注:特定のシナリオを利用する回避策を見つけました...具体的には、キーは0を少し超える整数の密集した集団であるため、辞書としてList <TValue>を使用し、リストインデックスは次のように機能します。キー、およびk以上のキーの検索は、数回のループ反復でのみ実行できます。しかし、元の質問が答えられるのを見るのはそれでもいいでしょう。