【问题标题】:what to use with Dns.GetHostAddresses with First() or FirstOrDefault()Dns.GetHostAddresses 与 First() 或 FirstOrDefault() 一起使用什么
【发布时间】:2022-01-14 05:01:27
【问题描述】:
  • 在这种情况下 First() 或 FirstOrDefault() 哪个更好?

  • 如果没有找到IP地址,默认的结果是什么?那将会 空?

    Dns.GetHostAddresses(hosturl).First().ToString()
    

Dns.GetHostAddresses(hosturl).FirstOrDefault().ToString()

【问题讨论】:

    标签: c# linq dns


    【解决方案1】:

    First()FirstOrDefault() 之间的区别仅在集合不包含任何元素的情况下才相关。

    在这种情况下,First() 抛出异常,而FirstOrDefault() 返回default(T)(对于引用类型为 null)。在你的情况下,第一条指令

    Dns.GetHostAddresses(hosturl).First().ToString()
    

    因此会在列表为空时抛出异常,而第二条指令

    Dns.GetHostAddresses(hosturl).FirstOrDefault().ToString()
    

    如果列表为空,也会抛出异常(NullReferenceException),因为ToString() 在空引用上被调用。

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 2015-11-13
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 2023-03-13
      相关资源
      最近更新 更多