2013-08-23 40 views
1

我正在從舊的VB轉換到.NET C#,我在C#代碼中得到以下內容。以下幾行是什麼意思?我知道它與日期和時間差異有關,但我無法做出確切的比較。請幫幫我。從舊的VB轉換爲.NET C#和0xe10L的含義是什麼?

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是什麼意思?

回答

1

這是十進制值的十六進制表示形式,如3600.(0x =>十六進制E10 = 3600)這是一小時內的秒數。

0x3D是說61,所以第二個方程式是檢查> 1小時(> 61分鐘)。

2

有兩個部分:

  • 的0x3D是整數的十六進制值(在這種情況下十進制61)
  • 「L」 是指長(即,64位,不是32)。

明確的長的原因是因爲DateDiff返回一個長。

+0

謝謝。這非常有幫助。應該有這個想法!我對我獲得這些答案的速度印象深刻。 – GuruD

+0

如果其中之一是「答案」,則應將其標記爲答案 - 當您選擇答案時,人們會更傾向於回答問題。 –