2

以下のような式を実行しようとしていますが、効率的な方法は何でしょうか。

以下は計算式です

結果=min(max(dtmealstart1、dtbkgstart)、dtbkgend)

dtmealstart1= 11/02/13 8AM
dtbkgstart=11/02/13 9AM
dtbkgend=11/02/13 17.00 (5PM)
result=min(max(11/02/13 8AM,11/02/13 9AM),11/02/13 17.00 )
result=11/02/13 9AM   

上記のロジックを実行するためにこのコードをc#で記述しましたが、最善の方法はないかと考えています。

int result = DateTime.Compare(dtmealStart1, dtBkgStart);
DateTime break1;
if (result < 0)
{
    break1 = dtBkgStart;
}
else
{
    break1 = dtmealStart1;
}
int result1 = DateTime.Compare(break1, dtBkgEnd);
DateTime mealstart1;
if(result1<0)
{
    mealstart1 = break1;
}
else
{
    mealstart1 = dtBkgEnd;
}

私のmealstart1価値もそれを取り戻す11/02/13 9AM

4

1 に答える 1

0

あなたはダニのMathクラスを使うことができますDateTime

何かのようなもの:

 DateTime result = new DateTime(Math.Min(Math.Max(dtmealStart1.Ticks, dtBkgStart.Ticks), dtBkgEnd.Ticks));

 // result = 11/02/13 9AM  
于 2013-02-26T05:10:50.607 に答える