當我開始使用LINQ時,我複製的其中一個樣本使用了這種模式,這種模式從那以後一直使用。下面是最近的一些代碼示例:測試'null'與'default(T)'的測試
var heartbeat = db.HeartBeats.Where(hb => hb.macHash == macAddressHash).FirstOrDefault();
if (heartbeat != default(HeartBeat))
{
result = heartbeat;
}
幾個同事都在LINQ查詢的結果比較default(T)
而非null
表示驚訝。
有沒有優勢?
我已經標記了[Christos的答案](http://stackoverflow.com/a/26649990/575530)作爲答案,但值得滾動瀏覽評論,以閱讀@ hvd對匿名類型的評論。我經常在LINQ中使用它們,並且爲他們寫'default(T)'不是一個選項。 – dumbledad 2014-10-31 06:35:28