如何在 Windows 10 通用应用程序上使用 C# 获取本地主机名

How to get local host name in C# on a Windows 10 universal app

string machineName = System.Environment.MachineName;

此代码对我不起作用,错误代码 'Environment' 不包含 'MachineName'

的定义

我正在使用 Visual Studio 2015 和 Universal App with C#

还请列出您post回答时我需要使用的命名空间。

您需要使用 NetworkInformation.GetHostNames.

var hostNames = Windows.Networking.Connectivity.NetworkInformation.GetHostNames();

但请注意,此方法将 return 多个 HostName

在我的例子中,它 return 有四个 HostName,其中 DisplayNameMyComputerNameMyComputerName.local加上两个IP地址.

所以我想这样做可能是安全的 -

using Windows.Networking;
using Windows.Networking.Connectivity;


var hostNames = NetworkInformation.GetHostNames();
var hostName = hostNames.FirstOrDefault(name => name.Type == HostNameType.DomainName)?.DisplayName ?? "???";