<p>I'm just wondering if there can be a case where the hostname can be successfully resolved but the returned hostEntry.AddressList is empty.</p>

<p>Currently I'm doing something like this:</p>

<pre><code>IPHostEntry hostEntry = Dns.GetHostEntry("some.hostname.tld");
if (hostEntry.AddressList.Count() &lt; 1)
{
  // can that ever happen?
  throw new ArgumentException("hostName has no assigned IP-Address");
}
TcpClient client = new TcpClient(hostEntry.AddressList[0], 1234);
</code></pre>

<p>My assumption is that Dns.GetHostEntry either throws an exception if the hostname is not found or otherwise the AddressList is nonempty, but I'm not sure about that.</p>

You have three possible situations here:
The hostname exists (DNS has an A Record) and resolves to an IP Address
Condition is never hit
The hostname exists (DNS knows about the domain) however no A records exists.
This is an extremely unlikely scenario, and I think this can never happen in the first place.
The hostname doesn't exist
Exception is thrown, you never get there.
So no, I don't think that can ever happen.