How can I get the current local hostname using C# or VB.NET?

Something to bear in mind is that System.Environment.MachineName; and System.Windows.Forms.SystemInformation.ComputerName; will give you the NETBIOS name of the machine (restricted to 15 characters).

If you want the full TCP/IP based host name you can use Dns.GetHostName():

string hostName = System.Net.Dns.GetHostName();

Or you can use:

System.Environment.GetEnvironmentVariable("COMPUTERNAME");

Which will return the full computer name set during installation.


Unless I am mistaken on what you want to do..

System.Environment.MachineName

To get fully qualified name, use:

 System.Net.Dns.GetHostEntry("").HostName