如何在C#中从完整的计算机名称中获取简单的计算机名称(没有域名)?

StackOverflow https://stackoverflow.com/questions/9429992

  •  12-11-2019
  •  | 
  •  

我可以只得到一个简单的计算机名称(没有域名)从完全限定名称(可以在有或没有域名)?电脑名称是否有可能签名(。)登录它?

(这个问题似乎正在做反向)

有帮助吗?

解决方案

没有主机名不能包含点(引用 wikipedia RFC 952 (参见”假设“)和 RFC 1123 )。它是主机名和domainname之间的分隔符。所以你可以简单地做

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

(当然是正确的错误检查,因为“fullname”实际上不是全名的情况)。

其他提示

出于FQDN:

string s = "some.computer.name";
string host = s.Substring(0, s.IndexOf('.'));
.

框架:

System.Net.Dns.GetHostName();
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top