たとえば、先月のすべてのレコードを抽出する必要があるデータソース(おそらくデータベース)があります。私はLINQを使用しています。LINQでのDateTime比較のパフォーマンス
まず:
var res = from rec in _records
where rec.RequestDateTime.Date.Year == date.Year &&
rec.RequestDateTime.Date.Month == date.Month
select rec;
セカンド(使用して直接日付比較):
var year = date.Year;
var month = date.Month;
var monthStart = new DateTime(year, month, 1);
var monthEnd = new DateTime(year, month, DateTime.DaysInMonth(year, month));
var res = from rec in _records
where rec.RequestDateTime.Date >= monthStart &&
rec.RequestDateTime.Date <= monthEnd
select rec;
は、私は2番目のコードが速く、ほとんどのLINQのために働くことを聞いて、これを達成するためにどのように2つの方法があります。証明書や説明文(または反駁文)を見つけることはできません。だから、より良いパフォーマンスのために実際にどのように使用するのが良いの?
あなたのプロファイリングは何を伝えましたか? –
@Rune FS、悲しいことにプロファイリングは理由を説明していません... –
あなたの質問の最初の部分にのみ答えます。 –