Search code examples
c#dnshostnamefqdn

How to get a simple computer name (without the domain name) out of a full computer name in c#?


Can I get just a simple computer name (without the domain name) from a fully qualified name (can be with or without a domain name)? Is it possible for a computer name to have a dot (.) sign in it?

(this question seems to be doing the reverse)


Solution

  • No hostnames cannot contain a dot (reference Wikipedia and RFC 952 (see "ASSUMPTIONS") and RFC 1123). It is the delimiter between the hostname and the domainname. So you can simply do

    string fullName = "foobar.domain";
    string hostName = fullName.Substring(0, fullName.IndexOf('.'));
    

    (With proper error checking of course, for the case that "fullName" is not actually a fullname).