一連の数値データで機能するアルゴリズムを作成しています。場合によっては、一連の値を null にする必要があります。ただし、このアプリケーションはパフォーマンスが重要であるため、null 許容型の使用は避けています。アルゴリズムのパフォーマンスをテストして、null 許容型と非 null 許容型を使用した場合のパフォーマンスを具体的に比較しました。最良のシナリオでは、null 許容型は 2 倍遅くなりますが、多くの場合、はるかに劣っています。
最も頻繁に使用されるデータ型は double であり、現在選択されている null の代替は double.NaN です。ただし、これは NaN 値の正確な意図された使用法ではないことを理解しているため、予測できない問題があるかどうか、およびベストプラクティスが何であるかは不明です。
特に次のデータ型に最適な null の代替手段を見つけることに興味があります: double/float、decimal、DateTime、int/long (ただし、他のデータ型は大歓迎です)
編集:パフォーマンスに関する要件を明確にする必要があると思います。数値データのギグは、数時間かかる一度にこれらのアルゴリズムを介して処理されます。したがって、たとえば 10 ミリ秒または 20 ミリ秒の違いは通常は重要ではありませんが、このシナリオでは実際にかかる時間に大きな影響を与えます。