第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

c# DateTime.Equals() 不能正常工作

c# DateTime.Equals() 不能正常工作

C#
寶慕林4294392 2021-06-01 13:16:20
我正在嘗試比較兩個(gè)具有相同值的 DateTime 變量。但是當(dāng)我使用 Equals 方法時(shí),它返回 false 表示“不等于”。我的代碼是:DateTime date = DateTime.Parse("2/27/2010 1:06:49 PM");foreach (KeyValuePair<DateTime, List<string>> k in Sample){   if (date.Equals(k.Key))   {      Console.WriteLine("Yes");   }   else {      Console.WriteLine("No");   }}字典 Sample 包含以下鍵:2018/5/8 上午 11:18:002018/5/8 上午 11:17:462010/2/27 下午 1:06:492018/5/8 上午 11:18:08第三個(gè)鍵值與比較值相同。對(duì)于所有的關(guān)鍵,我都沒(méi)有作為輸出。誰(shuí)能解釋為什么會(huì)這樣?
查看完整描述

3 回答

?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

DateTime.Equals(靜態(tài)或?qū)嵗⒈容^Ticks屬性。雖然在您看來(lái)這兩個(gè)日期是相同的(由于它的顯示方式是為了人類可讀),但它們可能相同,也可能不同。滴答是相當(dāng)高精度的測(cè)量(1 滴答 = 100 納秒)。


如果 中的值KeyValuePair來(lái)自某個(gè)系統(tǒng)生成的日期時(shí)間,它將與您使用靜態(tài)值創(chuàng)建自己的日期時(shí)間對(duì)象具有不同的值。


例如,看看這兩個(gè)日期,


DateTime one = new DateTime(636614784317968133);

DateTime two = new DateTime(636614784317968134);

它們有 100 納秒的差異。在 add watch 中,它們看起來(lái)都一樣,但Equals方法將為兩者返回 false。

http://img1.sycdn.imooc.com//60bad454000140fb05460059.jpg

如果要在毫秒后刪除值,可以使用以下代碼:

one = one.AddTicks(-one.Ticks % TimeSpan.TicksPerMillisecond);
two = two.AddTicks(-two.Ticks % TimeSpan.TicksPerMillisecond);

完成此操作后,您可以看到Ticks兩個(gè)日期對(duì)象相同,現(xiàn)在可以進(jìn)行比較。


查看完整回答
反對(duì) 回復(fù) 2021-06-05
  • 3 回答
  • 0 關(guān)注
  • 253 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)