在這種情況下 First() 或 FirstOrDefault() 哪個更好?
如果沒有找到IP地址,默認的結果是什么?它會是空的嗎?
Dns.GetHostAddresses(hosturl).First().ToString()
或者
Dns.GetHostAddresses(hosturl).FirstOrDefault().ToString()
uj5u.com熱心網友回復:
First()和之間的區別FirstOrDefault()僅在集合不包含任何元素的情況下相關。
在這種情況下First()會拋出例外,而FirstOrDefault()回傳default(T)(對于參考型別為 null)。在你的情況下,第一條指令
Dns.GetHostAddresses(hosturl).First().ToString()
因此當串列為空時會拋出例外,而第二條指令
Dns.GetHostAddresses(hosturl).FirstOrDefault().ToString()
如果串列為空,也會拋出例外(NullReferenceException),因為ToString()在空參考上呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/380056.html
