compare_Click 取得兩個 DateTimePicker 的值,呼叫 dateCompare 比較,並透過 show 方法顯示結果。原始 dateCompare 僅回傳 42,導致比較錯誤。
private int dateCompare(DateTime leftHandSide, DateTime rightHandSide)
{
int result;
if (leftHandSide.Year < rightHandSide.Year) result = -1;
else if (leftHandSide.Year > rightHandSide.Year) result = +1;
else if (leftHandSide.Month < rightHandSide.Month) result = -1;
else if (leftHandSide.Month > rightHandSide.Month) result = +1;
else if (leftHandSide.Day < rightHandSide.Day) result = -1;
else if (leftHandSide.Day > rightHandSide.Day) result = +1;
else result = 0;
return result;
}
依序比較 Year、Month、Day,任一層級差異即決定大小;全部相同則回傳 0。此巢狀 if/else if 結構確保邏輯正確。