【发布时间】:2017-06-14 03:49:10
【问题描述】:
我正在尝试为学校完成一个项目,该项目涉及我提示用户输入 IP 地址,然后显示与其关联的主机名。我是 C# 新手。
这是我目前拥有的代码:
Console.WriteLine("Enter an IP address:"); //prompt user to input IP address
string host = Console.ReadLine();
IPHostEntry hostEntry;
hostEntry = NewMethod(host);
if (hostEntry.AddressList.Length > 0)
{
var ip = hostEntry.AddressList[0];
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
s.Connect(ip, 80);
}
}
private static IPHostEntry NewMethod(string host)
{
return Dns.GetHostEntry(host); // NEED FIX
}
}
具有“需要修复”的部分是出现错误的地方。提前致谢!
编辑:如何以这种格式显示结果:“xxxx 的主机名是:hhhhhh”,其中“xxxx”是用户输入的 IP 地址,“hhhhh”是 IP 的主机名?
编辑(针对 StackOverflow):我的问题针对此实例更具体,不是关于 NullException 问题的一般问题。
【问题讨论】:
-
嗯,你是在提示用户输入,然后你什么都不要求。
host是null当你打电话给NewMethod -
@InBetween,我指定了为什么它不是重复的并且还对其进行了更改,以便它读取用户输入。谢谢!
-
帖子中提供的代码不太可能产生标题中声称的异常。请仔细阅读minimal reproducible example 指导,并避免在问题与用户输入不直接相关时要求用户输入的代码。还要确保阅读示例代码中使用的每种方法的 MSDN(或取决于您未来问题的语言,其他文档来源),以确保您至少大致了解这些方法在做什么以及它们接受/返回什么值。跨度>