0
私はreposでいくつかの古いコードをリファクタリングすることに取り組んできました。思考が私の頭を越えました。特定のプロパティまたは変数に値が含まれているかどうかを判断するためにif文が使用される場所がいくつかあり、値がない場合は値が割り当てられます。しかしながら、これらは典型的には長い鎖で起こり、やや扱いにくい。これでif-blockに対するインラインNullチェックのパフォーマンス?
if (memo.DateTime == null)
{
memo.DateTime = DateTime.Now;
}
if (memo.dtoDate == null)
{
memo.dtoDate = DateTimeOffset.Now;
}
:
は、有意な上振れまたは下振れがこのような何かを交換してあります
memo.DateTime = memo.DateTime ?? DateTime.Now;
memo.dtoDate = memo.dtoDate ?? DateTimeOffset.Now;
ベンチマークです。それぞれのループの時間(10,000回の繰り返し)を見て、どれが最速かを確認します。私はあなたが大きな違いを見つけることができれば驚くだろう。 – ChrisF
[あなたの馬の競走](http://ericlippert.com/2012/12/17/performance-rant/) –
私の主な質問は、2番目の方法を使用すべきではない理由があるかどうかということです。プロダクションコードで使用されているような自己割り当ては見たことがありませんでした。 –