.net - SystemInformation.ComputerName、Environment.MachineName 和 Net.Dns.GetHostName 之间的区别

标签 .net windows hostname

据我所知,在 MSDN 文档和此处关于 SO 的其他问题中,有四种方法可以获取本地计算机名称。

Environment.MachineName;
System.Net.Dns.GetHostName();
System.Windows.Forms.SystemInformation.ComputerName;
System.Environment.GetEnvironmentVariable("COMPUTERNAME");

它们的方法返回的内容是否有区别,或者它们会一直返回完全相同的东西吗?

注意: 我第一次看到这篇文章中的列表: How do I get the local machine Name?

最佳答案

Environment.MachineNameSystem.Windows.Forms.SystemInformation.ComputerName 相同并返回计算机的 NetBIOS 名称。此名称限制为 15 个字符,并且仅在 LAN 上可见。

System.Net.Dns.GetHostName() 返回计算机的基于 TCP/IP 的主机名。通过向主机名添加域后缀,您可以跨 LAN/在 Internet 上解析计算机的 IP 地址。

System.Environment.GetEnvironmentVariable("COMPUTERNAME") 返回安装期间设置的计算机名称。 NetBIOS 和主机名最初设置为相同的名称。

关于.net - SystemInformation.ComputerName、Environment.MachineName 和 Net.Dns.GetHostName 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1233217/

相关文章:

windows - 在 Vim 的 BufWritePost 上将光标更改为另一个窗口

c++ - 在 Windows Mobile 中动态分配内存映射文件的大小

linux - 为什么 Digital Ocean 上的主机名 FQDN 设置不正确?

javascript - Node.js http.request options 主机名参数的正确格式是什么?

linux - 库伯内斯 : hostname regex failed

c# - 合并两个列表并从列表 A 中减去列表 B 的值

.net - 是否有可能使日期数据类型接受一个月的13和所有月份的30?

c# - 在多维数组中查找值并返回所有项目 c#

c# - Entity Framework 4 - 如何从存储过程读取多个记录集?

c# - 在进程停止响应(最好是C#)时获得通知