1

古い VB から .NET C# に変換していますが、C# コードで次のようになります。次の行はどういう意味ですか? 日付と時刻の違いに関係していることは知っていますが、正確な比較はできません。私を助けてください。

DateTime now = DateTime.Now;

int num = (int)((0xe10L - DateAndTime.DateDiff(DateInterval.Second, Client.last_use_date, now, FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1)) + 30L);

とはどういう0xe10L意味ですか? また、何と比較されていますか? どう30Lですか?

if (DateAndTime.DateDiff(DateInterval.Minute, current.last_use_date, now, FirstDayOfWeek.Sunday, FirstWeekOfYear.Jan1) >= 0x3dL)

とはどういう0x3dL意味ですか?

4

2 に答える 2

2

次の 2 つの部分があります。

  • 0x3D は整数の 16 進値です (この場合は 10 進数の 61)。
  • 「L」は long を意味します (つまり、32 ビットではなく 64 ビット)。

明示的な long の理由は、DateDiff が long を返すためです。

于 2013-08-23T03:08:22.220 に答える
1

これは、3600 などの 10 進数値の 16 進数表現です。(0x => 16 進数 E10 = 3600) は、1 時間の秒数です。

0x3D は 61 を示しているため、2 番目の式は > 1 時間 (> 61 分) をチェックしています。

于 2013-08-23T03:05:40.327 に答える